edf2csv 0.5.126 → 0.5.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
Notable changes to edf2csv. Versions follow [semantic versioning](https://semver.org); while the
|
|
4
4
|
major version is 0, a minor bump may contain breaking changes.
|
|
5
5
|
|
|
6
|
+
## 0.5.128
|
|
7
|
+
|
|
8
|
+
### Fixed: the step formula the pages print is negative for a calibration real files carry
|
|
9
|
+
|
|
10
|
+
Three pages state the smallest physical step a channel can express, because it is what decides
|
|
11
|
+
how many decimals its values get. Two printed it with the magnitude on one difference only:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
step = |physical_max - physical_min| / (digital_max - digital_min)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
`reversed-bounds.edf` has a channel whose digital pair is written the wrong way round — legal,
|
|
18
|
+
warned about with `INVERTED_PHYSICAL_RANGE`, and converted as the header says. For that channel
|
|
19
|
+
the printed formula is -0.1, and the next thing the page tells you to do with it is take
|
|
20
|
+
`ceil(-log10(step))`, which of a negative number is not a number at all. The code takes the
|
|
21
|
+
magnitude of the whole quotient and gives that channel 3 decimals, the same as the upright
|
|
22
|
+
channel beside it — the only answer that keeps its distinct codes distinguishable.
|
|
23
|
+
|
|
24
|
+
Both differences are magnitudes now, on all three pages, with a sentence saying why. Held by a
|
|
25
|
+
test that evaluates the formula the page prints against the function the conversion uses, on
|
|
26
|
+
each of that fixture's three shapes: physical pair reversed, digital pair reversed, and both.
|
|
27
|
+
|
|
28
|
+
## 0.5.127
|
|
29
|
+
|
|
30
|
+
### Fixed: the chunked-reader recipe printed a row count and a peak from nowhere
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
print(rows, peak) # 7372800 122.161
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The file it reads is `sleep_csv/signals_100hz.csv`, and neither number is that file's.
|
|
37
|
+
7,372,800 rows is eight hours at 256 Hz; eight hours at 100 Hz is 2,880,000, which the same
|
|
38
|
+
page states eighteen lines further down while explaining what `merge_asof` would do to it. And
|
|
39
|
+
122.161 is not the peak of anything — that column reaches 250, its declared physical maximum.
|
|
40
|
+
|
|
41
|
+
A recipe that prints a result is a claim about a file. This one is now converted and read down
|
|
42
|
+
by a test, the way the snippet reads it, and both numbers are checked against what comes out.
|
|
43
|
+
|
|
6
44
|
## 0.5.126
|
|
7
45
|
|
|
8
46
|
### Fixed: the metadata.json the page explains was a different recording's
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "edf2csv",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.128",
|
|
4
4
|
"description": "Convert EDF, EDF+ and BDF biosignal recordings (European Data Format) to CSV from the command line. Local, streaming, and never resamples or alters units.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"edf",
|