Skip to content

Commit 0e4689d

Browse files
Release 0.6.5 (#176)
* Prepare to release 0.6.5 * Update docs * Update docs * Update typo statsitics
1 parent b1e866c commit 0e4689d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+3324
-314
lines changed

Diff for: .github/workflows/python_tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
platform: [ubuntu-latest, macos-latest, windows-latest]
15-
python-version: ["3.8", "3.9", "3.10", "3.11"]
14+
platform: [ubuntu-latest, windows-latest] # macos-latest
15+
python-version: ["3.9", "3.10", "3.11"]
1616

1717
runs-on: ${{ matrix.platform }}
1818

Diff for: docs/api.rst

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ Hypnogram & sleep statistics
4343
sleep_statistics
4444
Hypnogram
4545
simulate_hypnogram
46+
EpochByEpochAgreement
47+
SleepStatsAgreement
4648

4749
Spectral analyses
4850
-----------------

Diff for: docs/build/html/.buildinfo

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 489cdac284cc185cfdae105616c5af8a
3+
config: f80ed99698c532d7a1c5d14ebdacc629
44
tags: 645f666f9bcd5a90fca523b33c5a78b7
28.3 KB
Loading

Diff for: docs/build/html/_images/yasa-Hypnogram-2.png

12.7 KB
Loading

Diff for: docs/build/html/_modules/index.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>Overview: module code &#8212; yasa 0.6.4 documentation</title>
7+
<title>Overview: module code &#8212; yasa 0.6.5 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
99
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
1010
<link rel="stylesheet" type="text/css" href="../_static/plot_directive.css" />
@@ -43,7 +43,7 @@
4343
</button>
4444
<a class="navbar-brand" href="../index.html"><span><img src="../_static/yasa_128x128.png"></span>
4545
yasa</a>
46-
<span class="navbar-text navbar-version pull-left"><b>0.6.4</b></span>
46+
<span class="navbar-text navbar-version pull-left"><b>0.6.5</b></span>
4747
</div>
4848

4949
<div class="collapse navbar-collapse nav-collapse">
@@ -94,6 +94,7 @@
9494

9595
<h1>All modules for which code is available</h1>
9696
<ul><li><a href="yasa/detection.html">yasa.detection</a></li>
97+
<li><a href="yasa/evaluation.html">yasa.evaluation</a></li>
9798
<li><a href="yasa/heart.html">yasa.heart</a></li>
9899
<li><a href="yasa/hypno.html">yasa.hypno</a></li>
99100
<li><a href="yasa/others.html">yasa.others</a></li>

Diff for: docs/build/html/_modules/yasa/detection.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>yasa.detection &#8212; yasa 0.6.4 documentation</title>
7+
<title>yasa.detection &#8212; yasa 0.6.5 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
99
<link rel="stylesheet" type="text/css" href="../../_static/bootstrap-sphinx.css" />
1010
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
@@ -43,7 +43,7 @@
4343
</button>
4444
<a class="navbar-brand" href="../../index.html"><span><img src="../../_static/yasa_128x128.png"></span>
4545
yasa</a>
46-
<span class="navbar-text navbar-version pull-left"><b>0.6.4</b></span>
46+
<span class="navbar-text navbar-version pull-left"><b>0.6.5</b></span>
4747
</div>
4848

4949
<div class="collapse navbar-collapse nav-collapse">
@@ -101,6 +101,7 @@ <h1>Source code for yasa.detection</h1><div class="highlight"><pre>
101101
<span class="sd">- GitHub: https://github.com/raphaelvallat/yasa</span>
102102
<span class="sd">- License: BSD 3-Clause License</span>
103103
<span class="sd">&quot;&quot;&quot;</span>
104+
104105
<span class="kn">import</span> <span class="nn">mne</span>
105106
<span class="kn">import</span> <span class="nn">logging</span>
106107
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>

Diff for: docs/build/html/_modules/yasa/evaluation.html

+1,626
Large diffs are not rendered by default.

Diff for: docs/build/html/_modules/yasa/heart.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>yasa.heart &#8212; yasa 0.6.4 documentation</title>
7+
<title>yasa.heart &#8212; yasa 0.6.5 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
99
<link rel="stylesheet" type="text/css" href="../../_static/bootstrap-sphinx.css" />
1010
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
@@ -43,7 +43,7 @@
4343
</button>
4444
<a class="navbar-brand" href="../../index.html"><span><img src="../../_static/yasa_128x128.png"></span>
4545
yasa</a>
46-
<span class="navbar-text navbar-version pull-left"><b>0.6.4</b></span>
46+
<span class="navbar-text navbar-version pull-left"><b>0.6.5</b></span>
4747
</div>
4848

4949
<div class="collapse navbar-collapse nav-collapse">
@@ -99,6 +99,7 @@ <h1>Source code for yasa.heart</h1><div class="highlight"><pre>
9999
<span class="sd">Author: Dr Raphael Vallat &lt;[email protected]&gt;, UC Berkeley.</span>
100100
<span class="sd">Date: May 2022</span>
101101
<span class="sd">&quot;&quot;&quot;</span>
102+
102103
<span class="kn">import</span> <span class="nn">logging</span>
103104
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
104105
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>

Diff for: docs/build/html/_modules/yasa/hypno.html

+42-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>yasa.hypno &#8212; yasa 0.6.4 documentation</title>
7+
<title>yasa.hypno &#8212; yasa 0.6.5 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
99
<link rel="stylesheet" type="text/css" href="../../_static/bootstrap-sphinx.css" />
1010
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
@@ -43,7 +43,7 @@
4343
</button>
4444
<a class="navbar-brand" href="../../index.html"><span><img src="../../_static/yasa_128x128.png"></span>
4545
yasa</a>
46-
<span class="navbar-text navbar-version pull-left"><b>0.6.4</b></span>
46+
<span class="navbar-text navbar-version pull-left"><b>0.6.5</b></span>
4747
</div>
4848

4949
<div class="collapse navbar-collapse nav-collapse">
@@ -96,6 +96,7 @@ <h1>Source code for yasa.hypno</h1><div class="highlight"><pre>
9696
<span></span><span class="sd">&quot;&quot;&quot;</span>
9797
<span class="sd">Hypnogram-related functions and class.</span>
9898
<span class="sd">&quot;&quot;&quot;</span>
99+
99100
<span class="kn">import</span> <span class="nn">mne</span>
100101
<span class="kn">import</span> <span class="nn">logging</span>
101102

@@ -105,6 +106,7 @@ <h1>Source code for yasa.hypno</h1><div class="highlight"><pre>
105106
<span class="kn">from</span> <span class="nn">yasa.io</span> <span class="kn">import</span> <span class="n">set_log_level</span>
106107
<span class="kn">from</span> <span class="nn">yasa.plotting</span> <span class="kn">import</span> <span class="n">plot_hypnogram</span>
107108
<span class="kn">from</span> <span class="nn">yasa.sleepstats</span> <span class="kn">import</span> <span class="n">transition_matrix</span>
109+
<span class="kn">from</span> <span class="nn">yasa.evaluation</span> <span class="kn">import</span> <span class="n">EpochByEpochAgreement</span>
108110
<span class="kn">from</span> <span class="nn">pandas.api.types</span> <span class="kn">import</span> <span class="n">CategoricalDtype</span>
109111

110112
<span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span>
@@ -575,7 +577,7 @@ <h1>Source code for yasa.hypno</h1><div class="highlight"><pre>
575577
<span class="sd"> Name: Stage, dtype: int16</span>
576578
<span class="sd"> &quot;&quot;&quot;</span>
577579
<span class="c1"># Return as int16 (-32768 to 32767) to reduce memory usage</span>
578-
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hypno</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapping</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">int16</span><span class="p">)</span></div>
580+
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hypno</span><span class="o">.</span><span class="n">cat</span><span class="o">.</span><span class="n">rename_categories</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapping</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">int16</span><span class="p">)</span></div>
579581

580582
<div class="viewcode-block" id="Hypnogram.consolidate_stages"><a class="viewcode-back" href="../../generated/yasa.Hypnogram.html#yasa.Hypnogram.consolidate_stages">[docs]</a> <span class="k">def</span> <span class="nf">consolidate_stages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">new_n_stages</span><span class="p">):</span>
581583
<span class="sd">&quot;&quot;&quot;Reduce the number of stages in a hypnogram to match actigraphy or wearables.</span>
@@ -665,6 +667,43 @@ <h1>Source code for yasa.hypno</h1><div class="highlight"><pre>
665667
<span class="n">scorer</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">scorer</span><span class="p">,</span>
666668
<span class="p">)</span></div>
667669

670+
<div class="viewcode-block" id="Hypnogram.evaluate"><a class="viewcode-back" href="../../generated/yasa.Hypnogram.html#yasa.Hypnogram.evaluate">[docs]</a> <span class="k">def</span> <span class="nf">evaluate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obs_hyp</span><span class="p">):</span>
671+
<span class="sd">&quot;&quot;&quot;Evaluate agreement between two hypnograms of the same sleep session.</span>
672+
673+
<span class="sd"> For example, the reference hypnogram (i.e., ``self``) might be a manually-scored hypnogram</span>
674+
<span class="sd"> and the reference hypnogram (i.e., ``ref_hyp``) might be a hypnogram from actigraphy, a</span>
675+
<span class="sd"> wearable device, or an automated scorer (e.g., :py:meth:`yasa.SleepStaging.predict`).</span>
676+
677+
<span class="sd"> Parameters</span>
678+
<span class="sd"> ----------</span>
679+
<span class="sd"> self : :py:class:`yasa.Hypnogram`</span>
680+
<span class="sd"> Reference or ground-truth hypnogram.</span>
681+
<span class="sd"> obs_hyp : :py:class:`yasa.Hypnogram`</span>
682+
<span class="sd"> The observed or to-be-evaluated hypnogram.</span>
683+
684+
<span class="sd"> Returns</span>
685+
<span class="sd"> -------</span>
686+
<span class="sd"> ebe : :py:class:`yasa.EpochByEpochAgreement`</span>
687+
<span class="sd"> See :py:class:`~yasa.EpochByEpochAgreement` documentation for more detail.</span>
688+
689+
<span class="sd"> Examples</span>
690+
<span class="sd"> --------</span>
691+
<span class="sd"> &gt;&gt;&gt; from yasa import simulate_hypnogram</span>
692+
<span class="sd"> &gt;&gt;&gt; hyp_a = simulate_hypnogram(tib=90, scorer=&quot;AASM&quot;, seed=8)</span>
693+
<span class="sd"> &gt;&gt;&gt; hyp_b = hyp_a.simulate_similar(scorer=&quot;YASA&quot;, seed=9)</span>
694+
<span class="sd"> &gt;&gt;&gt; ebe = hyp_a.evaluate(hyp_b)</span>
695+
<span class="sd"> &gt;&gt;&gt; ebe.get_agreement().round(3)</span>
696+
<span class="sd"> accuracy 0.550</span>
697+
<span class="sd"> balanced_acc 0.355</span>
698+
<span class="sd"> kappa 0.227</span>
699+
<span class="sd"> mcc 0.231</span>
700+
<span class="sd"> precision 0.515</span>
701+
<span class="sd"> recall 0.550</span>
702+
<span class="sd"> fbeta 0.524</span>
703+
<span class="sd"> Name: agreement, dtype: float64</span>
704+
<span class="sd"> &quot;&quot;&quot;</span>
705+
<span class="k">return</span> <span class="n">EpochByEpochAgreement</span><span class="p">([</span><span class="bp">self</span><span class="p">],</span> <span class="p">[</span><span class="n">obs_hyp</span><span class="p">])</span></div>
706+
668707
<div class="viewcode-block" id="Hypnogram.find_periods"><a class="viewcode-back" href="../../generated/yasa.Hypnogram.html#yasa.Hypnogram.find_periods">[docs]</a> <span class="k">def</span> <span class="nf">find_periods</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">threshold</span><span class="o">=</span><span class="s2">&quot;5min&quot;</span><span class="p">,</span> <span class="n">equal_length</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
669708
<span class="sd">&quot;&quot;&quot;Find sequences of consecutive values exceeding a certain duration in hypnogram.</span>
670709

Diff for: docs/build/html/_modules/yasa/others.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>yasa.others &#8212; yasa 0.6.4 documentation</title>
7+
<title>yasa.others &#8212; yasa 0.6.5 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
99
<link rel="stylesheet" type="text/css" href="../../_static/bootstrap-sphinx.css" />
1010
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
@@ -43,7 +43,7 @@
4343
</button>
4444
<a class="navbar-brand" href="../../index.html"><span><img src="../../_static/yasa_128x128.png"></span>
4545
yasa</a>
46-
<span class="navbar-text navbar-version pull-left"><b>0.6.4</b></span>
46+
<span class="navbar-text navbar-version pull-left"><b>0.6.5</b></span>
4747
</div>
4848

4949
<div class="collapse navbar-collapse nav-collapse">
@@ -96,6 +96,7 @@ <h1>Source code for yasa.others</h1><div class="highlight"><pre>
9696
<span></span><span class="sd">&quot;&quot;&quot;</span>
9797
<span class="sd">This file contains several helper functions to manipulate 1D and 2D EEG data.</span>
9898
<span class="sd">&quot;&quot;&quot;</span>
99+
99100
<span class="kn">import</span> <span class="nn">logging</span>
100101
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
101102
<span class="kn">from</span> <span class="nn">scipy.interpolate</span> <span class="kn">import</span> <span class="n">interp1d</span>

0 commit comments

Comments
 (0)