Sleepyhead not calculating all derived graphs

General Discussion on any topic relating to CPAP and/or Sleep Apnea.
tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Sleepyhead not calculating all derived graphs

Post by tetragon » Fri Dec 09, 2011 2:55 pm

Sleepyhead isn't calculating the derived graphs for all sessions. This happens even if I completely remove SleepApp. This is something that I first noticed when I first updated to a v0.8.8-ish level.

I'm currently using 0d1b153a45e15bf3cfe465e94feb8273fe6ce95d from git.

Some sample images:
Image
Image

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Sat Dec 10, 2011 6:58 am

I noticed that.. I think it's fixed in the latest GIT changes..

It wasn't loading multiple chunked .001 & .002 files.. (which happen when the card is left out by accident, next time it's inserted)
I rewrote the loader to take these chunks into account..

It should now also work better with ASV machines.

Plus now anyone trying to load brick machine data will at least see their usage/session times and settings charts and a brick notice in the daily panel.

It may still be a little shakey (graphwise), it was a pretty big change set. :-/

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Sat Dec 10, 2011 7:01 am

Your wake-up time is a straight line.. I'm jealous!

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Sat Dec 10, 2011 7:19 am

jedimark wrote:Your wake-up time is a straight line.. I'm jealous!
I title this work "Two alarm clocks, syncopated". It's a statement on machine's inhumanity to man. It was formed as an interpretation of the effects of two alarm clocks, one Zeo and one Lark, on the artist, as seen by a PRS1 REMstar Pro, through the lens of SleepyHead.

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Sat Dec 10, 2011 8:12 am

tetragon wrote:
jedimark wrote:Your wake-up time is a straight line.. I'm jealous!
I title this work "Two alarm clocks, syncopated". It's a statement on machine's inhumanity to man. It was formed as an interpretation of the effects of two alarm clocks, one Zeo and one Lark, on the artist, as seen by a PRS1 REMstar Pro, through the lens of SleepyHead.
Crackup.. I needed a good laugh.

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Sat Dec 10, 2011 5:13 pm

jedimark wrote:I noticed that.. I think it's fixed in the latest GIT changes..

It wasn't loading multiple chunked .001 & .002 files.. (which happen when the card is left out by accident, next time it's inserted)
I rewrote the loader to take these chunks into account..
A quick run-through with some of my backups doesn't trigger this. My quick check of non-multi-threaded loads did not reveal any stupidly large numbers to trigger "missing" non-derived graphs.

Issues that I did notice in 51333ff8e95bec8c55f1285191f91abf9554b241 (some I noticed before and didn't get around to mentioning):
  • The word "guaranteed" is misspelt in the initial terms and conditions dialog
  • The AHI/Hour graph does not print any line for sessions with AHI=0
  • On multisession days, it is possible to have the 90% of a stat to be lower than the average. The days that I have this problem tend to have multiple short sessions for reasons like mask fitting, and the numbers approach reality when I tell SleepyHead to ignore them. Example screenshots are provided, you already have data from me that includes this day.
A wishlist item is to be able to set a flag on a day to appear on the overview. One reason for this would be to be able to have an indicator of when a new mask was tried, or some other non-setting could effect the values (like a cold).

Examples of the multisession issue (on the detailed day, I was trying to get the Mirage Micro I was loaned to not leak):
Image
Image

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Sun Dec 11, 2011 4:12 am

tetragon wrote:
jedimark wrote:I noticed that.. I think it's fixed in the latest GIT changes..

It wasn't loading multiple chunked .001 & .002 files.. (which happen when the card is left out by accident, next time it's inserted)
I rewrote the loader to take these chunks into account..
A quick run-through with some of my backups doesn't trigger this. My quick check of non-multi-threaded loads did not reveal any stupidly large numbers to trigger "missing" non-derived graphs.

Issues that I did notice in 51333ff8e95bec8c55f1285191f91abf9554b241 (some I noticed before and didn't get around to mentioning):
  • The word "guaranteed" is misspelt in the initial terms and conditions dialog
  • The AHI/Hour graph does not print any line for sessions with AHI=0
  • On multisession days, it is possible to have the 90% of a stat to be lower than the average. The days that I have this problem tend to have multiple short sessions for reasons like mask fitting, and the numbers approach reality when I tell SleepyHead to ignore them. Example screenshots are provided, you already have data from me that includes this day.
A wishlist item is to be able to set a flag on a day to appear on the overview. One reason for this would be to be able to have an indicator of when a new mask was tried, or some other non-setting could effect the values (like a cold).

Examples of the multisession issue (on the detailed day, I was trying to get the Mirage Micro I was loaned to not leak):
Image
Image
Those bugs have been fixed..

90% is now fully calculated per day, instead of an average hack of the pre-calculated session data. I implemented a cache for the day objects too, so it's only the first load (and after session sliders/split times change in preferences) that will have a few second delay.

There are still a few cases where average can be less than 90% value.. Eg, snore, when it's mostly 0, and the last 10% of values throws it off. The 90% point in the data set is still 0. Shouldn't see any more cases of it though.

Them graphs are a good candidate for moving the ignore slider across to the right.. IMHO, Short sessions just make stuff look ugly..

The flag idea is cool.. not fully sure how to present the UI to do so yet.. I'll revisit it when my fog is back down to a normal level.. (please remind me if I forget)

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Sun Dec 11, 2011 5:08 am

jedimark wrote: Them graphs are a good candidate for moving the ignore slider across to the right.. IMHO, Short sessions just make stuff look ugly..
You get no argument from me on that. I normally run with hiding sessions shorter than five minutes, but with all my SleepApp purges, reimports, and the defaults, I've been seeing much more of those numbers than most users probably would.

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Tue Dec 13, 2011 4:35 am

I've now completed two imports to "Make PRS1 User flags search for nearby events to avoid double ups". On the second import, today's values, I noticed that for the derived graphs, the reported minima and average are the same. For that night, the minima and averages are all listed at 0, which isn't quite my average respiratory rate, as I am not a zombie. On a somewhat related note, every night in my data set, save one, the average AHI/hour is listed as 0.00 (the exception is 0.01).

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Tue Dec 13, 2011 5:02 am

tetragon wrote:I've now completed two imports to "Make PRS1 User flags search for nearby events to avoid double ups". On the second import, today's values, I noticed that for the derived graphs, the reported minima and average are the same. For that night, the minima and averages are all listed at 0, which isn't quite my average respiratory rate, as I am not a zombie. On a somewhat related note, every night in my data set, save one, the average AHI/hour is listed as 0.00 (the exception is 0.01).
Hmm.. I have had my head buried into the report printing layout stuff.. A total nightmare between three platforms..

I get the 0 average AHI/hour too. I'll look into this stuff. It's probably to do with the day calculation caching stuff. A quick way to rebuild is delete the "cache.day" file in your SleepApp/Profiles/user/ directory..

There is also now a menu option (in Data->Advanced) to purge all CPAP data, which is safe for us PRS1 users, as our machines don't eat data as much as the others.. The purge won't touch bookmarks, journal notes, weight, etc, and saves the "SleepApp shuffle" when I mess around with the importer and add new stuff.

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Tue Dec 13, 2011 5:10 am

jedimark wrote: There is also now a menu option (in Data->Advanced) to purge all CPAP data, which is safe for us PRS1 users, as our machines don't eat data as much as the others.. The purge won't touch bookmarks, journal notes, weight, etc, and saves the "SleepApp shuffle" when I mess around with the importer and add new stuff.
As I still do all my imports from copies of my data, which often get archived, I'm even less concerned about the data-eating-CPAP. Any idea when the import file dialog will be changed? And the user flag stuff is interesting. Although a significant percentage of what it picks up looks fairly normal to me.

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Tue Dec 13, 2011 5:21 am

tetragon wrote:
jedimark wrote: There is also now a menu option (in Data->Advanced) to purge all CPAP data, which is safe for us PRS1 users, as our machines don't eat data as much as the others.. The purge won't touch bookmarks, journal notes, weight, etc, and saves the "SleepApp shuffle" when I mess around with the importer and add new stuff.
As I still do all my imports from copies of my data, which often get archived, I'm even less concerned about the data-eating-CPAP. Any idea when the import file dialog will be changed? And the user flag stuff is interesting. Although a significant percentage of what it picks up looks fairly normal to me.
I remember you saying the import file dialog thing had a problem.. I've gone and forgotten where you mentioned it.. (Fog!) Can you refresh me on it?
One issue is changing it requires sacrificing multiple folder selection, which quite a few users begged me to add. :-}

The user flag things defaults are set fairly loosely.. Once the settings can be adjusted it will be more useful.
To be more accurate I need to adjust my algorithm to ignore & flatten pressure pulses in the waveform. (I can still take their existance into account, just they mess with the real breathing waveform)

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Tue Dec 13, 2011 5:39 am

jedimark wrote: I remember you saying the import file dialog thing had a problem.. I've gone and forgotten where you mentioned it.. (Fog!) Can you refresh me on it?
As a user of OS X 10.6, Qt 4.7, I cannot load my data directly from the SD card (unless I go build a symlink to it or modify the config to explicitly add the path to the mounted card). This is because the file selection dialog does not show a list of mounted volumes (what I'm used to seeing in file dialogs) or allow me access to /Volumes (parent of mountpoints, flagged as hidden).

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD

User avatar
jedimark
Posts: 1300
Joined: Fri Feb 18, 2011 12:45 am
Location: Bundaberg, Australia
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by jedimark » Tue Dec 13, 2011 5:47 am

tetragon wrote:
jedimark wrote: I remember you saying the import file dialog thing had a problem.. I've gone and forgotten where you mentioned it.. (Fog!) Can you refresh me on it?
As a user of OS X 10.6, Qt 4.7, I cannot load my data directly from the SD card (unless I go build a symlink to it or modify the config to explicitly add the path to the mounted card). This is because the file selection dialog does not show a list of mounted volumes (what I'm used to seeing in file dialogs) or allow me access to /Volumes (parent of mountpoints, flagged as hidden).
Ah.. Ok.. Qt's custom file dialog doesn't speak mac well.

And I take you you can't run Qt4.8 on 10.6?

_________________
Machine: ResMed AirSense™ 10 AutoSet™ CPAP Machine with HumidAir™ Heated Humidifier
Mask: Swift™ FX Nasal Pillow CPAP Mask with Headgear
Humidifier: S9™ Series H5i™ Heated Humidifier with Climate Control
Additional Comments: CMS50D+/F Oximeter, S9 VPAP Auto/Adapt, PRS1 Auto, Intellipap Auto, SleepyHead :)
Author of the free, cross platform, open-source sleep tracking software SleepyHead.
Download http://sleepyhead.jedimark.net
Source Code http://gitlab.com/sleepyhead/sleepyhead-code

tetragon
Posts: 539
Joined: Wed Oct 19, 2011 4:06 am
Location: Toronto, ON
Contact:

Re: Sleepyhead not calculating all derived graphs

Post by tetragon » Tue Dec 13, 2011 5:58 am

jedimark wrote:
tetragon wrote:
jedimark wrote: I remember you saying the import file dialog thing had a problem.. I've gone and forgotten where you mentioned it.. (Fog!) Can you refresh me on it?
As a user of OS X 10.6, Qt 4.7, I cannot load my data directly from the SD card (unless I go build a symlink to it or modify the config to explicitly add the path to the mounted card). This is because the file selection dialog does not show a list of mounted volumes (what I'm used to seeing in file dialogs) or allow me access to /Volumes (parent of mountpoints, flagged as hidden).
Ah.. Ok.. Qt's custom file dialog doesn't speak mac well.

And I take you you can't run Qt4.8 on 10.6?
When I tried a Qt 4.8 build, dyld couldn't get Qt loaded. It compiled and linked just fine, some symbols were unfindable at runtime.

_________________
Mask: AirFit™ P10 For Her Nasal Pillow CPAP Mask with Headgear
Additional Comments: Software: SleepyHead, loosely following HEAD