edf2csv 0.6.56 → 0.6.58
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/docs/CHANGELOG.md +41 -0
- package/package.json +3 -2
package/docs/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,47 @@
|
|
|
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.6.58
|
|
7
|
+
|
|
8
|
+
### Added: CI runs the six sweeps it has always claimed as its evidence
|
|
9
|
+
|
|
10
|
+
The correctness page names seven checks as how this project knows what it claims — the estimate
|
|
11
|
+
sweep, the layout sweep, the round trip, the corruption fuzzer, the batch trees, the narrowing
|
|
12
|
+
sweep, and the pyEDFlib cross-check. CI ran none of them. `npm test` covers the suite; the
|
|
13
|
+
harnesses are separate scripts, and nothing invoked them on a push, so a regression in an
|
|
14
|
+
invariant that only a sweep can see would have shipped in silence.
|
|
15
|
+
|
|
16
|
+
Six of the seven now run as their own job, each as a named step so a failure says which invariant
|
|
17
|
+
broke rather than "sweeps". A separate job because they take minutes where the suite takes one,
|
|
18
|
+
and GitHub runs jobs concurrently — a pull request waits for the slowest, not the sum. One Node
|
|
19
|
+
version, since these assert what the tool computes and `core` is what covers computing it on
|
|
20
|
+
both.
|
|
21
|
+
|
|
22
|
+
The seventh, `crossvalidate`, stays manual: it needs pyEDFlib installed, and a check whose value
|
|
23
|
+
is that it compares against an independent implementation should not be silently skipped when
|
|
24
|
+
that implementation fails to install.
|
|
25
|
+
|
|
26
|
+
## 0.6.57
|
|
27
|
+
|
|
28
|
+
### Added: a sweep checking that narrowing a conversion returns the part it names
|
|
29
|
+
|
|
30
|
+
`--channels` selects columns and `--start`/`--end` selects rows. Both are documented as
|
|
31
|
+
selections rather than transformations — output-files puts it as "a section converted on its own
|
|
32
|
+
lines up with the full conversion" — and nothing ran it. The layout sweep compares wide against
|
|
33
|
+
long, the estimate sweep compares predicted row counts against written ones, and neither asks
|
|
34
|
+
whether the rows a narrowed run writes are the rows the full run wrote.
|
|
35
|
+
|
|
36
|
+
`npm run narrowing` takes each fixture's full conversion as the truth, converts every channel
|
|
37
|
+
alone and three windows out of it, and requires the narrowed output to be the corresponding slice
|
|
38
|
+
byte for byte: 106 single-channel selections and 253 windows over 50 recordings. Everything
|
|
39
|
+
agrees, which is the result to want from a check written after the fact.
|
|
40
|
+
|
|
41
|
+
Its first run did not agree, and the disagreement was the sweep's. Window bounds were read back
|
|
42
|
+
off the CSV, where `time_s` is rounded — 8/17 is 0.47058823… and prints as `0.47059` — while a
|
|
43
|
+
conversion filters the exact sample times, so a bound taken from the file sits just past the
|
|
44
|
+
sample it came from and the conversion rightly keeps a row the check excluded. Bounds now sit
|
|
45
|
+
halfway between two samples, where no rounding on either side can move a row across them.
|
|
46
|
+
|
|
6
47
|
## 0.6.56
|
|
7
48
|
|
|
8
49
|
### Fixed: the `UNREADABLE` case list, four of the six things it covers
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "edf2csv",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.58",
|
|
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",
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"fuzz:batch": "npm run build && npm run fixtures && node test/fuzz/trees.mjs",
|
|
68
68
|
"estimate": "npm run build && npm run fixtures && node test/fuzz/estimate.mjs",
|
|
69
69
|
"roundtrip": "npm run build && node test/fuzz/roundtrip.mjs",
|
|
70
|
-
"layouts": "npm run build && npm run fixtures && node test/fuzz/layouts.mjs"
|
|
70
|
+
"layouts": "npm run build && npm run fixtures && node test/fuzz/layouts.mjs",
|
|
71
|
+
"narrowing": "npm run build && npm run fixtures && node test/fuzz/narrowing.mjs"
|
|
71
72
|
},
|
|
72
73
|
"devDependencies": {
|
|
73
74
|
"@types/node": "^22.10.0",
|