wfdb-app-toolbox
wfdb-app-toolbox copied to clipboard
output format of bxb rebort
report = bxb(...);
report is of type:
<1x1 java.util.ArrayList>
And looks like this:
report =
[N(108858)/O(108858), N(122530)/O(122530), N(148012)/O(148012),
N(168827)/O(168827), N(173851)/O(173851), N(199816)/O(199816),
N(210579)/O(210579), N(210714)/O(210714), N(217273)/O(217273),
N(230226)/O(230226), N(230984)/O(230984), N(258017)/O(258017),
N(262185)/O(262185), N(267025)/O(267025), N(267152)/O(267152),
N(274990)/O(274990), O(275055)/N(275055), N(281621)/O(281621),
N(293727)/O(293727), N(301745)/O(301745), N(307985)/O(307985),
O(308085)/N(308085), N(310130)/O(310130), N(318607)/O(318607),
N(318891)/O(318891), O(329450)/N(329450), N(329567)/O(329567),
O(329712)/N(329712), N(375316)/O(375316), O(375375)/N(375375),
N(396276)/O(396276), N(405621)/O(405621), N(413504)/O(413504),
N(415325)/O(415325), N(419212)/O(419212), N(507352)/O(507352),
N(525251)/O(525251), N(536100)/O(536100), N(536392)/O(536392),
N(536660)/O(536660), N(536969)/O(536969), O(537025)/N(537025),
N(537359)/O(537359), O(537450)/N(537450), N(538925)/O(538925),
N(539143)/O(539143), N(540551)/O(540551), N(601609)/O(601609),
N(604154)/O(604154), , Beats missed in shutdown: 0.00% (0/2481), N
missed in shutdown: 0.00% (0/2481), S missed in shutdown: -
(0/0), V missed in shutdown: - (0/0), F missed in shutdown:
- (0/0), Total shutdown time: 0 seconds]
Using report.get(1) returns a string 'N(108858)/O(108858)'
Another way is reportArray = report.toArray;
reportArray <56x1 java.lang.Object[]>
reportArray(1) returns a string 'N(108858)/O(108858)'
This is quite tedious to parse (e.g.: one array with 108858, 122530, 148012,
aso... and a second one with 275055, 308085, 329450, aso...).
A function to convert the output would be great!
(There might be a function I am unaware of... but I couldn't find it)
Original issue reported on code.google.com by [email protected]
on 30 Jun 2014 at 8:42
This has been done. See the following issue (issue 37):
https://code.google.com/p/wfdb-app-toolbox/issues/detail?id=37&can=1&q=bxb
Original comment by [email protected]
on 30 Jun 2014 at 2:29
- Changed state: Duplicate
Issue 37 is a way to parse the generated report file (at leas in Version
0.9.6.1)
report = bxb(['./',
recordStr(recNr)],'atrOrig','atrPeak',['./mitdbReports/bxbReport_',
recordStr(recNr),'.txt']);
In mitdbReports_XYZ.txt you have:
Beat-by-beat comparison results for record XYZ
Reference annotator: atrOrig
Test annotator: atrPeak
Algorithm
n s v f q o x
____________________________________
N | 2439 0 0 0 0 42 0
S | 0 0 0 0 0 0 0
V | 0 0 0 0 0 0 0
F | 0 0 0 0 0 0 0
Q | 0 0 0 0 0 0 0
O | 7 0 0 0 0
X | 0 0 0 0 0
QRS sensitivity: 98.31% (2439/2481)
QRS positive predictivity: 99.71% (2439/2446)
VEB sensitivity: - (0/0)
VEB positive predictivity: - (0/0)
SVEB sensitivity: - (0/0)
SVEB positive predictivity: - (0/0)
RMS RR interval error: 139.97 ms
but the return value "report" gives:
[N(108858)/O(108858), N(122530)/O(122530), N(148012)/O(148012),
N(168827)/O(168827), N(173851)/O(173851), N(199816)/O(199816),
N(210579)/O(210579), N(210714)/O(210714), N(217273)/O(217273),
N(230226)/O(230226), N(230984)/O(230984), N(258017)/O(258017),
N(262185)/O(262185), N(267025)/O(267025), N(267152)/O(267152),
N(274990)/O(274990), O(275055)/N(275055), N(281621)/O(281621),
N(293727)/O(293727), N(301745)/O(301745), N(307985)/O(307985),
O(308085)/N(308085), N(310130)/O(310130), N(318607)/O(318607),
N(318891)/O(318891), O(329450)/N(329450), N(329567)/O(329567),
O(329712)/N(329712), N(375316)/O(375316), O(375375)/N(375375),
N(396276)/O(396276), N(405621)/O(405621), N(413504)/O(413504),
N(415325)/O(415325), N(419212)/O(419212), N(507352)/O(507352),
N(525251)/O(525251), N(536100)/O(536100), N(536392)/O(536392),
N(536660)/O(536660), N(536969)/O(536969), O(537025)/N(537025),
N(537359)/O(537359), O(537450)/N(537450), N(538925)/O(538925),
N(539143)/O(539143), N(540551)/O(540551), N(601609)/O(601609),
N(604154)/O(604154), , Beats missed in shutdown: 0.00% (0/2481), N
missed in shutdown: 0.00% (0/2481), S missed in shutdown: -
(0/0), V missed in shutdown: - (0/0), F missed in shutdown:
- (0/0), Total shutdown time: 0 seconds]
This information is dynamic (depended on how many FP and FN), and more
complicated to parse.
Where as mitdbReports_XYZ.txt is static, and quite easy to parse with the
approach mentioned in issue 37.
Or is there something I don't see?...
Original comment by [email protected]
on 4 Jul 2014 at 8:17
Original comment by [email protected]
on 10 Jul 2014 at 3:48
- Changed state: Accepted
- Added labels: Type-Enhancement, Priority-High