1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>EDFbrowser manual</title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
<meta name="description" content="EDFbrowser manual">
<style type="text/css">
table.border, th.border, td.border, tr.border {
border: 1px solid black;
border-collapse: collapse;
text-align: left;
padding-left: 10px;
padding-right: 10px;
padding-top: 6px;
padding-bottom: 6px;
}
body {
font-family: Noto-Sans, Arial, Helvetica, sans-serif;
}
</style>
</head><body>
<h1>EDFbrowser 2.12 manual</h1>
<p><br></p>
<div>
<a name="Table_of_Contents"></a>Table of Contents:<br>
<ul>
<li><a href="#Filemenu">Filemenu</a></li>
<li><a href="#Streaming">Streaming mode</a></li>
<li><a href="#Video">Video</a></li>
<li><a href="#Signalsmenu">Signalsmenu</a></li>
<li><a href="#Timescalemenu">Timescalemenu</a></li>
<li><a href="#Amplitudemenu">Amplitudemenu</a></li>
<li><a href="#Signallabel">Signallabel</a></li>
<li><a href="#Alias">Alias</a></li>
<li><a href="#ECG_view_mode">ECG view mode</a></li>
<li><a href="#Signaldialog">Signaldialog</a></li>
<li><a href="#Signalproperties">Signalproperties</a></li>
<li><a href="#Adjusting_the_position_and_size_of_the_signals">Adjusting the position and size of the signals</a></li>
<li><a href="#Organize_signals">Organize signals</a></li>
<li><a href="#Signal_layout">Signal layout</a></li>
<li><a href="#Navigation">Navigation</a></li>
<li><a href="#Annotations">Annotations</a></li>
<li><a href="#Annotations_Filter">Annotations Filter</a></li>
<li><a href="#Annotation_editor">Annotation editor</a></li>
<li><a href="#Filters">Filters</a></li>
<li><a href="#Adjust_filters">Adjust filters</a></li>
<li><a href="#Powerspectrum">Powerspectrum</a></li>
<li><a href="#CDSA">Color Density Spectral Array</a></li>
<li><a href="#Hypnogram">Hypnogram</a></li>
<li><a href="#aEEG">aEEG</a></li>
<li><a href="#Averaging_EP">Averaging (evoked potentials, heart beats or other triggers)</a></li>
<li><a href="#ECG_PLIF_filter">ECG powerline interference subtraction filter</a></li>
<li><a href="#EEG_PLIF_filter">EEG powerline interference subtraction filter</a></li>
<li><a href="#ECG_detection">ECG QRS detector</a></li>
<li><a href="#HR_statistics">Heart Rate statistics</a></li>
<li><a href="#Export_Import_ECG_RR_interval">Export/Import ECG RR-interval</a></li>
<li><a href="#Custom_fir_filter">Custom FIR filter</a></li>
<li><a href="#Spike_filter">Spike filter</a></li>
<li><a href="#Zoomfunction">Zoomfunction</a></li>
<li><a href="#Floatingruler">Floating ruler</a></li>
<li><a href="#Crosshairs">Crosshairs</a></li>
<li><a href="#Statistics">Statistics</a></li>
<li><a href="#Montages">Montages</a></li>
<li><a href="#Keyboard_bindings_for_montages">Keyboard bindings for montages</a></li>
<li><a href="#Sessions">Sessions</a></li>
<li><a href="#Colors">Colors</a></li>
<li><a href="#Calibration">Calibration</a></li>
<li><a href="#Timelock">Timelock / File synchronisation</a></li>
<li><a href="#File_Info">File info / header / properties</a></li>
<li><a href="#Header_editor">Header editor</a></li>
<li><a href="#EDFBDF_to_ASCII_format_converter">EDF(+)/BDF(+) to ASCII (CSV) format converter</a></li>
<li><a href="#Reduce_signals">Reduce signals, duration and/or samplerate</a></li>
<li><a href="#Export_filtered_signals">Export filtered signals</a></li>
<li><a href="#Export_annotations">Export annotations/events</a></li>
<li><a href="#Import_annotations">Import annotations/events</a></li>
<li><a href="#Z_EEG">Z-EEG</a></li>
<li><a href="#ASCII_to_EDF_converter">ASCII (CSV) to EDF/BDF format converter</a></li>
<li><a href="#Nihon_Kohden_to_EDF_format_converter">Nihon Kohden to EDF(+) format converter</a></li>
<li><a href="#UNISENS_TO_EDFPLUS">Unisens to EDF+ format converter</a></li>
<li><a href="#SCP_ECG_to_EDFplus">SCP ECG to EDF+ format converter</a></li>
<li><a href="#MIT_to_EDFplus">MIT (PhysioBank)to EDF+ format converter</a></li>
<li><a href="#Manscan_to_EDFplus">Manscan to EDF+ format converter</a></li>
<li><a href="#Biosemi_to_BDFplus">Biosemi to BDF+ format converter</a></li>
<li><a href="#Fino_to_EDF">Finometer to EDF format converter</a></li>
<li><a href="#Wave_to_EDF">Wave to EDF format converter</a></li>
<li><a href="#FMaudio_to_EDF">FM Audio ECG to EDF format converter</a></li>
<li><a href="#Nexfin_to_EDF">Nexfin to EDF format converter</a></li>
<li><a href="#Emsa_to_EDF">Emsa to EDF+ format converter</a></li>
<li><a href="#Cardiotrak_to_EDF">CardioTrak EDF to EDF+ format converter</a></li>
<li><a href="#edfd_to_edfc">EDF+D to EDF+C converter</a></li>
<li><a href="#bdf2edfconverter">BDF(+) to EDF(+) converter</a></li>
<li><a href="#EDF_and_BDF_compatibility_checker">EDF(+) and BDF(+) compatibility checker</a></li>
<li><a href="#Binary_to_EDF">Binary/raw to EDF</a></li>
<li><a href="#Print_to_PDF">Print to PDF</a></li>
<li><a href="#Print_to_IMG">Print to image</a></li>
<li><a href="#Print_to_EDF">Print to EDF(+)</a></li>
<li><a href="#Print_to_BDF">Print to BDF(+)</a></li>
<li><a href="#Unify_resolution">Unify resolution</a></li>
<li><a href="#Commandline_options">Commandline options</a></li>
<li><a href="#Remote_control">Remote control</a></li>
<li><a href="#FAQ">FAQ</a></li>
</ul>
</div>
<p><br></p>
<h3><a name="Filemenu"></a>Filemenu</h3>
<p>
Use the Filemenu to open or close a file. After the file has been opened,<br>
the <a href="#Signaldialog">signaldialog</a> will appear.<br>
You can also use "drag and drop" to open a file.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Streaming"></a>Streaming mode</h3>
<p>
Use the Filemenu to open a stream. The stream must be a "growing" file.<br>
This mode is used when you have an acquisitionprogram running that writes EDF or BDF.<br>
While the acquisitionprogram writes the data to the file, you can use EDFbrowser to watch<br>
(follow) the actual data. EDFbrowser will regularly check the actual filesize and display the<br>
last part of the file i.e. the most actual/recent data.<br>
The default intervaltime between the updates is 500 milliSeconds and can be changed in the settingsmenu.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Video"></a>Video</h3>
<p>
In order for EDFbrowser to be able to start a video, the <a href="https://www.videolan.org/">VLC mediaplayer</a> must be installed on your system.<br>
On windows: make sure VLC is installed in: C:\Program Files\VideoLAN\VLC\ or C:\Program Files (x86)\VideoLAN\VLC\<br><br>
Open an EDF or BDF file and select/setup your montage as usual. Then press Ctrl-Shift-v (or go to File -> Start video)<br>
to select a video. After the video has started, you can use the slider on the bottom to change the file position or<br>
use page-up/page-down.<br><br>
Also, the startdate and starttime needs to be set in the filename of the video (for synchronization).<br>
The following text is copied from <a href="https://www.edfplus.info/specs/video.html">https://www.edfplus.info/specs/video.html</a> :<br><br>
<i>
Video filenames of the same patient must start with the same patient identification,<br>
followed by the start-date and -time of the video, as follows:<br>
NL_012348168_03-MAY-2013_14h45m49.013s_Video.ogv<br>
in which case the video apparently starts on May 3, 2013 at 0.013 seconds after 14:45:49hr. To be more precise,<br>
the patient identification is followed by an underscore (_), followed by the video startdate DD-MMM-YYYY,<br>
followed by an underscore, followed by the starttime HHhMMmSS.XXXXs. The startdate days, DD, are 01, 02, 03, ... 30 or 31.<br>
The months, MMM, are JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV or DEC.<br>
The years, YYYY, obviously are 2013, 2014 and so on. The starttime is based on the 24h clock with HH ranging from 00 till 23,<br>
so midnight is coded as 00h00m00s. The decimal fraction of a second (noted here by .XXXX) can have any length and can also be omitted<br>
(for example in 06h37m12s). The addition _Video is not obligatory and neither do we standardize any video format such as ogv.<br>
So, a perfectly OK video filename would also be:<br>
NL_012348168_03-MAY-2013_14h45m49.013s.mpeg<br><br>
</i>
Note: EDFbrowser will ignore the part of the filename directly before the startdate and directly after the starttime.<br><br>
If the filename of the video does not contain the startdate and starttime, you can still continue to use the video but<br>
in that case EDFbrowser will assume that the starttime of the video coincides with the starttime of the EDF file.<br><br>
You can resize the video window by dragging the bottom-right corner with the mouse.<br>
All other operations like stop, pause, etc. must be done by using the videoplayer controls (buttons) in EDFbrowser.<br>
Do not use the control interface of VLC, it will interfere with EDFbrowser.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Signalsmenu"></a>Signalsmenu</h3>
<p>
Use the Signalsmenu to add or remove signals. If you want to remove only one particular signal,<br>
leftclick on the signallabel of the signal you want to remove. A small dialog will appear and gives<br>
you the possibility to remove that particular signal from the screen. See also <a href="#Signaldialog">signaldialog</a>.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Timescalemenu">Timescalemenu</a></h3>
<p>
Use the Timescalemenu to choose the pagetime (the amount of seconds that must be displayed on the screen).<br>
"30 mm/sec" will adjust the pagetime so that one second equals 30 mm horizontally. In case you get a different<br>
result, calibrate your screen in Menu -> Settings -> Calibration.<br>
The timescale can also be changed with the keyboard shortcuts Ctl++ and Ctl+-,<br>
or by turning the mousewheel while keeping the Ctl-key pressed.<br>
The resolution of the timescale indicator (milliSecond or microSecond) can be selected in: Settings -> Options -> Annotation editor.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Amplitudemenu">Amplitudemenu</a></h3>
<p>
Use the Amplitudemenu to adjust the amplitude (size/gain/sensitivity) of all signals on the screen.<br>
The values in the dropdown list are expressed in units per cm.<br>
If you want to adjust the amplitude of one particular signal, use <a href="#Signalproperties">Signalproperties</a>.<br>
"Fit to pane" will adjust the height and size of all signals so that they will fit on the screen.<br>
"Adjust offset" will adjust the height only (of all signals so that they will fit on the screen).<br>
"Offset -> 0" will set the offset on the screen of all signals to zero.<br>
Use the "+" or "-" keys on your keyboard to increase or decrease the amplitude of all signals.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Signallabel">Signallabel</a></h3>
<p> The signallabel is the name of the signal which is printed on the screen at the start of the trace.<br>
This little piece of text has some "hidden" functions. When you leftclick on it, the <a href="#Signalproperties">Signalproperties</a><br>
dialog will be opened. You can also drag this label with the left or right mousebutton to change<br>
the offset or amplitude of the signal, see also <a href="#Adjusting_the_position_and_size_of_the_signals">Adjusting the position and size of the signals</a>.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Alias">Alias</a></h3>
<p> The alias, if used, is an alternative signallabel which is printed on the screen at the start of the trace.<br>
Aliases can be created in the <a href="#Signalproperties">Signalproperties dialog</a> and will be stored in your <a href="#Montages">montage</a>.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="ECG_view_mode">ECG view mode</a></h3>
<p>
This mode activates a colorschema and grid boxes typical for plotting ECG waveforms.<br>
<br><i>
The ECG waves are recorded on special graph paper that is divided into 1 mm2 grid-like boxes. The ECG paper speed is ordinarily 25 mm/sec.<br>
As a result, each 1 mm (small) horizontal box corresponds to 0.04 sec (40 ms), with heavier lines forming larger boxes that include five<br>
small boxes and hence represent 0.20 sec (200 ms) intervals. On occasion, the paper speed is increased to 50 mm/sec to better define waveforms.<br>
Each large box is therefore only 0.10 sec and each small box is only 0.02 sec.<br>
<br>
Vertically, the standard calibration is 10 mm (10 small boxes), equal to 1 mV. On occasion, particularly when the waveforms are small,<br>
double standard is used (20 mm equals 1 mv). When the wave forms are very large, half standard may be used (5 mm equals 1 mv).<br>
<br></i>
The ECG view mode can be activated by going to Settings -> Options. In the Colors tab, in the Colorschema section, click on the "ECG" button.<br>
It is advised to enable the vertical scrollbar (in the menubar go to View -> Vertical scrollbar) and set the number of traces to 4 in<br>
Settings -> Options in tab Other (look for the setting with the text "Enable a vertical scrollbar and show max.").<br>
<br>
Set the timescale to 50 mm/sec. and the amplitude to 500 uV (0.5 mV).<br>
<br>
In order for the gridboxes to be calibrated, it is necessary that the physical dimension (unit) of the ECG waveform is expressed in either<br>
uV, mV or V. If this is not the case, the gridboxes are uncalibrated and they cannot be drawn correctly.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Signaldialog">Signaldialog</a></h3>
<p>
Use the signaldialog to add one or more signals to the screen. Go to Signals -> Add.<br>
On top you will see a list of opened files.<br>
Select (highlight) the file from which you want to add signals. At the left part of the dialog you see a list of<br>
all the signals which are in the selected file. Select one or more signals and click on the "Add signal(s)"<br>
button. Now you will see the selected signals on the screen. You can add more signals afterwards,<br>
just go to Signals -> Add.<br>
<br>
When you want to make a combination (derivation) of two or more signals, do as follows. Open the signalsdialog.<br>
Select the file from which you want to add signals. In this example we choose an EEG file which contains<br>
the signals "P3" and "C3" and we want to subtract "C3" from "P3".<br>
- Select (highlight) the signal "P3".<br>
- Click on the "Add" button.<br>
- Select (highlight) the signal "C3".<br>
- Click on the "Subtract" button.<br>
- Click on the "Make derivation" button.<br>
- The result of "P3" minus "C3" will appear on the screen.<br>
<br>
Now you can add more combinations or simply close the dialog.<br>
<br>
note: It is only possible to make combinations with signals who:<br>
- are in the same file<br>
- have the same samplerate<br>
- have the same physical dimension (e.g. uV)<br>
- have the same resolution (e.g. uV/bit)<br>
<br>
In case the signals in your file don't have the same resolution, you may use the tool<br>
<a href="#Unify_resolution">Unify resolution</a> to correct this.<br>
<br>
note 2: If you want to invert the signals (which is common in EEG) do as follows:<br>
instead of P3 - C3, use -P3 + C3 (or C3 - P3).<br>
You can also invert a signal afterwards, go to <a href="#Organize_signals">Signals -> Organize</a>.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Signalproperties">Signalproperties</a></h3>
<p>
You can view or adjust the properties of a specific signal by leftclicking on the signallabel.<br>
A small dialog will be opened and let you change the amplitude and color.<br>
You can also remove filters (if any) or remove the signal from the screen.<br>
You can also enter an alias for the signalname.<br>
Another option is to activate one or more <a href="#Crosshairs">crosshairs</a> for precise measurements.<br>
<br>
Another way to view/change the properties of a signal is to go to Signals -> Properties.<br>
This will show you a list of all signals which are on the screen. Simply click on the<br>
signal of interest.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Adjusting_the_position_and_size_of_the_signals">Adjusting the position and size of the signals</a></h3>
<p>
Leftclick on the signallabel and move the mousepointer up or down while keeping the<br>
left mousebutton pressed. This will move the signal up or down on the screen i.e. it<br>
changes the offset of the signal.<br>
<br>
Rightclick on the signallabel and move the mousepointer up or down while keeping the<br>
right mousebutton pressed. This will increase or decrease the amplitude (size/gain) of<br>
the signal on the screen.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Organize_signals">Organize signals</a></h3>
<p>
You can organize the signals via Signals -> Organize.<br>
Here you can change the order of the signals on the screen, remove or invert signals.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Signal_layout">Signal layout</a></h3>
<p>
When you want to visualize many signals, the screen can become crowded and hard to read.<br>
There are two solutions for this:<br>
- divide the signals you want to visualize in smaller groups and use <a href="#Montages">montages</a> to quickly switch<br>
between these groups (using the Fn keys).<br>
- enable a vertical scrollbar for the signal window so that the signals will be distributed over more<br>
vertical space. The vertical scrollbar can be enabled in Settings -> Options -> Other.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Navigation">Navigation</a></h3>
<p>
Navigation through a file can be done by using the PageUp/PageDown buttons on your keyboard.<br>
Use the left/right arrowkeys to shift the screen one tenth of the pagetime.<br>
The mousewheel can be used to scroll horizontally. The stepsize of the mousewheel can be set in the settings menu.<br>
A value of zero disables mousewheel scrolling.<br>
Keep the middle mousebutton pressed to drag horizontally.<br>
There's also the file position slider at the bottom of the screen.<br>
Pressing Ctl+Home or Ctl+End will jump to the start or the end of the recording respectively.<br>
In case multiple files are opened, the file position slider, the "Home" and "End" keyboard shortcuts and<br>
the file position indicator, are referred to the file that is the "reference". For more info and how to change<br>
the reference file, have a look at <a href="#Timelock">Timelock and File synchronisation</a>.<br>
The resolution of the fileposition indicator (milliSecond or microSecond) can be selected in: Settings -> Options -> Annotation editor.<br>
<br>
You can also <a href="#Zoomfunction">zoom-in</a>.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Annotations">Annotations</a></h3>
<p>
When a file contains annotations (sometimes called events), the annotation window will appear.<br>
Just click on one of the annotations to jump to that position in the file (use Ctl+N to jump to the next annotation or Ctl+B for the previous annotation).<br>
The annotation marker will appear either at the start or the middle of the page,<br>
depending on an option that is in Settings -> Options -> Other.<br>
<br>
The annotation window is dockable. You can change the size of the window, but also the position.<br>
You can make the window floating as well by dragging it with the mouse. After closing<br>
the annotationwindow, you can make it appear again via Window -> Annotations.<br>
<br>
Een annotation/event has three properties:
</p>
<ul>
<li>onset time</li>
<li>duration (optional)</li>
<li>description</li>
</ul>
<p>
If an annotation has a duration, a semi transparent colored overlay will be applied for that duration.<br>
In Settings -> Options -> Colors you can assign your own colors to max. eight different annotation descriptions.<br>
The transparency of the overlay color is set using the alpha channel: 0 = completely transparent, 255 is completely opaque.<br>
The default value for the alpha channel is 32.<br>
<br>
An annotation can be linked to a specific signal. This is done by adding a suffix to the description,<br>
for example: spindle@@C3 - A1<br>
The string immediately after the "@@" must be one of the signal names.<br>
<br>
Annotations can be created, modified or deleted using the <a href="#Annotation_editor">Annotation editor</a><br>
<br>
By right-clicking on an annotation in the annotationlist, you can perform several operations on the annotations.<br>
It's possible to filter groups of annotations. You can select if these filter operations take place on the annotations list<br>
only or also on the waveform window. This option is in Settings -> Options -> Other.<br>
<br>
Right-click on an annotation marker in the plotting window in order to select it (the color will change) in the annotation list,<br>
or to perform waveform averaging.<br>
<br>
If you like, you can enable "auto scroll" for the annotations window so that, when browsing through the recording, the annotation window's<br>
scroll position is synchronized with the fileposition of the plotting window. This option is in Settings -> Options -> Other.<br>
<br>
The resolution of the onset time (milliSecond or microSecond) can be selected in: Settings -> Options -> Annotation editor.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Annotations_Filter">Annotations Filter</a></h3>
<p>
The annotations list can be filtered based on the maximum and minimum interval time<br>
between two consegutive annotations with the same name/label.<br>
Right-click on the annotations list and select "Filter Interval Time".<br>
A dialog will appear where you can set the filter parameters.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Annotation_editor">Annotation editor</a></h3>
<p>
The annotation editor can be used to create, edit or delete annotations.<br>
Start the editor via menu -> Window -> Annotation editor.<br>
To create a new annotation, write the text of the annotation in the description window and set<br>
the onset time. You can set the duration as well. If the duration is unknown or not<br>
applicable, set it to -1. Next, simply click on the "Create" button.<br><br>
Instead of manually entering the onset time, you can use a <a href="#Crosshairs">crosshair</a>.<br>
Drag and drop the crosshair and the onset time will be automatically adjusted.<br>
You can use a second <a href="#Crosshairs">crosshair</a> to adjust the duration of the event.<br><br>
To modify an existent annotation, click on the annotation in the annotationlist.<br>
Adjust the text and/or time manually or drag and drop the annotation marker with the mouse.<br><br>
To delete an annotation, click on the annotation in the annotation window and click<br>
on the delete button (or press the Delete key on your keyboard).<br>
Pay attention, there's no "undo".<br><br>
When you have finished editing annotations, save the file in menu -> File -> Save.<br>
Your file will not be altered, instead a copy of your file with the edited annotations<br>
will be made.<br><br>
When a crosshair is activated, the onsettime field will or will not be updated when navigating through the file,<br>
depending on a setting in the options menu ("Auto update annotation-editor onsettime").<br>
You'll find this setting in: Settings -> Options -> Annotation editor.<br><br>
Keeping the shift-key pressed when left-clicking on an annotation in the wavefom window,<br>
will prevent the annotation from moving (i.e. the onset time will not be modified).<br>
The annotation will only be selected and made visible in the annotations list.<br><br>
It's possible to enable and configure up to eight user buttons which can be used to quickly create annotations.<br>
This can be done in: Settings -> Options -> Annotation editor.<br>
You can freely assign any name to a user button. The name will be used as the description of the annotation.<br>
You can setup which actions will be performed when clicking on a user button:<br>
- set the description<br>
- set the onset time<br>
- set the duration<br>
- advance the viewtime (file position) with the stage /epoch time<br>
Keyboard shortcuts for the user buttons are: '1', '2', '3', etc.<br><br>
Note: It's possible to let the viewtime automatically stay on an integer multiple of the stage /epoch time when using the user buttons to create annotations.<br>
I.e. the viewtime and pagetime will always be at the epoch boundary. This can be setup in: Settings -> Options -> Annotation editor.<br><br>
Note: It's possible to let advance the viewtime automatically when using the user buttons to create annotations.<br>
I.e. the viewtime will advance with the selected stage / epoch time when clicking on a user button. This can be setup in: Settings -> Options -> Annotation editor.<br>
Keeping the shift-key pressed while hitting a user button will cause the viewtime to jump backwards.<br><br>
Signal linked annotations can be created by using a suffix "@@" followed by the signal label in the annotation description.<br>
e.g.: "sleep spindle@@C3-A2"<br><br>
To quickly create a signal linked annotation by drawing a rectangle with the mouse, keep the Ctrl key pressed when releasing the left mouse button.<br>
(The rectangle drawn must have a size of at least 15 x 15 screen pixels. If not, the action will be ignored.)<br>
After drawing the rectangle over the part of the signal of interest, a menu will popup which will allow you to select one of up to eight<br>
predefined annotation descriptions. After selecting one of them, a signal linked annotation will be created with the specified description,<br>
onset and duration will be set according to the rectangle drawn.<br>
Instead, if the Shift key is being pressed, a normal (non signal linked) annotation will be created.<br>
You can setup the predefined descriptions in: Settings -> Options -> Annotation editor.<br><br>
Alternatively, press 'a' when one or two crosshairs are enabled (on the same signal) in order to create a signal linked annotation.<br>
The second crosshair will be used to set the duration of the event. If not present, an annotation without duration will be created.<br>
When the Control key is pressed when selecting the annotation (after having pressed "a"), the delta (difference) of the amplitude of<br>
the two crosshairs will be printed into the annotation's description.<br><br>
Note: At default, the resolution of the onset-time of the annotations is 1 milliSecond.<br>
If desired, this can be changed to 1 microSecond in Settings -> Options -> Annotation editor.<br>
This affects also the resolution of the crosshairs, the viewtime and pagetime indicators and the annotation markers.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Filters">Filters</a></h3>
<p>
Use the filtermenu to add or remove filters. First select the type of filter: highpass, lowpass, notch, bandpass or bandstop.<br>
Now select the model: Butterworth, Chebyshev, Bessel or "moving average" (a notchfilter has resonator model only).<br>
Then set the frequency(s) of the filter (or number of samples in case of a "moving average" filter).<br>
Depending on the type and model of the filter, you can adjust the order, Q-factor and passbandripple.<br><br>
The curve will show the frequency and phase response of the filter (except for "moving average" filters).<br><br>
Now select one or more signals to apply to and click the "Apply" button.<br><br>
Reviewing the filters can be done in the Montage -> View this montage menu.<br><br>
Algorithm for the moving average filters:<br>
LPF: the mean of the last n data samples.<br>
HPF: last-n/2 sample minus the mean of the last n data samples.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Adjust_filters">Adjust filters</a></h3>
<p>
You can adjust or finetune the filters. Left-click on a signallabel and select "Adjust filter".<br>
You can adjust or finetune the frequency, order or Q-factor of a filter and watch the result at the same time.<br>
Use this dialog when you want to remove a filter.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Powerspectrum">Powerspectrum</a></h3>
<p>
To view the powerspectrum of a signal, leftclick on the signallabel and choose "Spectrum".<br>
The Power Spectral Density of the corresponding signal will be shown (uV)<sup>2</sup>/FFT-resolution.<br>
The amount of datasamples used to perform the FFT equals the data which is<br>
shown on the screen. Increasing or decreasing the FFT blocksize affects the FFT resolution.<br>
So, if the samplefrequency of the selected signal is 256Hz, the timescale is set to 10 seconds and<br>
the FFT-blocksize is 512, the number of FFT's performed is (10 seconds x 256 Hz) / 512 = 5.<br>
The output of the five FFT's are averaged.<br>
In case you set the FFT blocksize equal to timescale x samplefrequency, exactly one FFT will be performed.<br>
<br>
Note 1: You can freely customize the block size up to 1000 samples. Above that, only selected (optimized)<br>
values can be choosen.<br>
Note 2: The maximum block size possible equals the number of samples actually on the screen.<br>
<br>
It's possible to let the FFT blocks overlap each other.<br>
<br>
This powerspectrum is static and will not update when you change the fileposition (pressing PgUp/PgDn etc.).<br>
This way you can compare multiple powerspectra from different signals and/or filepositions.<br>
<br>
There is also a powerspectrum window available that automatically updates when you walk through a file.<br>
Go to Window -> Power Spectrum.<br>
A small dialog will be opened which shows a list of signals which are on the screen.<br>
Click on a signal of interest and a docked Powerspectrum (FFT) will be opened.<br>
This Powerspectrum will be automatically updated when you navigate through the file. Clicking on the<br>
"ctls" button toggles the controls. Here you can switch-on colorbars to highlight different frequency-<br>
regions. The properties of the colorbars (number of colorbars, frequency, color, etc.) can be adjusted<br>
in the Settings menu. The height of the colorbar is relative to the sum, peak or average of the the<br>
power of all the frequency-bins in that region, according to the settings in the Settings menu.<br>
Use the sliders to zoom into a particular area.<br>
When you check the "Amplitude" checkbox, the amplitude spectrum will be shown.<br>
Printing can be done by clicking on the printbutton. You can print to a printer, file (PDF or Postscript)<br>
or as an image. It is also possible to "print" to a textfile. It exports the data to text (ASCII).<br>
Clicking on the cursorbutton will display a cursor. Use the mouse to drag the cursor.<br>
Click again on the "ctls" button to hide the settings and make room for the FFT plot.<br>
<br>
The algorithms for the window functions are taken from<br>
<a href="http://edoc.mpg.de/395068">Spectrum and spectral density estimation by the Discrete Fourier transform (DFT), including a comprehensive list of window functions and some new at-top windows</a><br>
from the Max Planck Institute.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="CDSA">Color Density Spectral Array</a></h3>
<p>
The Color Density Spectral Array (CDSA) can be enabled by leftclicking on a signallabel and selecting "CDSA", or via the Window menu.<br>
The default settings are usually fine for EEG. Adjust the min/max levels for optimal results.<br>
<br>
The CDSA will appear as a docked window on the bottom but can also be dragged to the top or can be put in detached mode (floating) where ever you want on your screen.<br>
Adjust the size of the CDSA window as you prefer.<br>
<br>
- Segment length:<br>
The length of one measurement. The number of segments in the CDSA is: recording duration / segment length.<br>
All segments together will present a horizontal array of segments.<br>
- Block length:<br>
The block length is the window size of the FFT. If the segment length is 30 seconds and the block length is 2 seconds,<br>
15 FFT's will be performed in one segment (if the overlap is set to 0%). The output of these 15 FFT's will be averaged.<br>
The block length affects the FFT resolution: FFT bin size (Hz) = samplerate / block length.<br>
Higher block lengths increases the FFT resolution. Lower block lengths increases the signal to noise ratio.<br>
- Overlap:<br>
Percentage of an FFT block that will overlap the next FFT block. Increasing this value increases the number of FFT's that will be performed<br>
and increases the signal to noise ratio but increases also the computational effort.<br>
- Window:<br>
Window is the kind of smoothing (taper) function used to prepare the data before the FFT is performed in order to lower the spectral leakage of the FFT.<br>
- Min. / Max. frequency:<br>
This can be set to only display the frequency range of interest. Maximum frequency is limited to half the samplingrate (nyquist frequency)<br>
- Max. level:<br>
Maximum level equals white. Adjust and experiment with this setting until you find the optimal setting.<br>
- Min. level:<br>
Minimum level equals black. Adjust and experiment with this setting until you find the optimal setting.<br>
- Logarithmic:<br>
If checked, it will apply the base-10 logarithm of the output of the FFT in order to increase the dynamic range.<br>
- Power:<br>
If checked, display the power instead of the voltage.<br>
- Export data:<br>
If checked, the data generated by the FFT will be exported to a text/CSV file.<br>
The decimal separator for the numbers in this file is a dot. The column separator is a comma.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Hypnogram">Hypnogram</a></h3>
<p>
The hypnogram can be enabled via the "Window" menu. A dialog will appear where you can setup the labels for the different<br>
sleep stages and the mapping to the annotations in the file. If you don't have the sleep annotations already in your file,<br>
then you can import them using the tool "<a href="#Import_annotations">Import annotations/events</a>" in the "Tools" menu.<br>
When using the <a href="#Annotation_editor">Annotation editor</a>, the hypnogram will be updated realtime when adding, moving or deleting annotations.<br>
<br>
You can select whether you want the hypnogram draws from onset to the next onset or according to the duration of the annotation.<br>
(check or uncheck "Use annotations' duration for epoch length")<br>
When you select the latter, any gaps / overlaps between consegutive annotations greater than 0.1 second will be highlighted red in order<br>
to assist you with scoring the file.<br>
<br>
In addition, there's the possibility to create colored overlays using user defined annotations.<br>
Simply check the option "Add overlays" and insert the annotation(s). Click on the colored buttons in order to modify<br>
the color. The transparency of the overlay color is set using the alpha channel: 0 = completely transparent, 255 is completely opaque.<br>
The default value for the alpha channel is 32.<br>
<br>
Right-click on the hypnogram and select "settings" in order to adjust the height or select "close" in order to close it.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="aEEG">aEEG</a></h3>
<p>
Amplitude integrated electroencephalography (aEEG) or cerebral function monitoring (CFM) is a technique for monitoring brain function.<br>
The implementation was inspired by "Calculation of compact amplitude-integrated EEG tracing and upper and lower margins using raw EEG data"<br>
(Zhang, Dandan & Ding, Haiyan).<br>
The aEEG can be enabled by leftclicking on a signallabel and selecting "aEEG", or via the Window menu.<br>
Once the aEEG plot has been opened, you can right-click on it to close it or to adjust the height of the plot.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Averaging_EP">Averaging (evoked potentials, heart beats or other triggers)</a></h3>
<p>
Averaging waveforms (multiple parts of a signal) can be done by rightclicking on an annotation (trigger) in<br>
the annotationlist. A contextmenu will be opened, now click on "Average".<br>
A dialog will be opened where you can choose to which signals you want to apply the averaging.<br>
If necessary, change the "From"- and "To"-times in order to select a particular group of triggers.<br>
Only the triggers with an onsettime that lies between the two timevalues will be used for the averaging.<br>
Select the ratio of the time before and after the triggerpoint.<br>
Now click on "Start" and a new window(s) will be opened which will show the result of averaging<br>
all signalparts of all annotations (triggerpoints) with that specific name.<br>
The yellow colored, dashed, vertical line is the triggerpoint, i.e. the onsettime of the annotations (triggers).<br>
Use the sliders to zoom into the signal. The timescale is relative to the trigger (onset) point.<br>
<br>
The result can be printed or exported as a new EDF/BDF file.<br>
<br>
You can also use external triggers in ASCII(*.csv or *.txt) or XML format.<br>
See <a href="#Import_annotations">Import annotations/events</a> how to import triggers/events/annotations.<br>
<br>
Note: It is also possible to change the selection of annotations/triggers for averaging, by <a href="#Annotation_editor">editing the annotationlist</a> first.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="ECG_PLIF_filter">ECG powerline interference subtraction filter</a></h3>
<p>
The ECG powerline interference subtraction filter is inspired by the subtraction method described by:<br>
<br>
- Subtraction Method For Powerline Interference Removing From ECG<br>
Chavdar Levkov, Georgy Mihov, Ratcho Ivanov, Ivan K. Daskalov Ivaylo Christov, Ivan Dotsinsky<br>
<br>
- Removal of power-line interference from the ECG: a review of the subtraction procedure<br>
Chavdar Levkov, Georgy Mihov, Ratcho Ivanov, Ivan Daskalov, Ivaylo Christov and Ivan Dotsinsky<br>
<br>
- Accuracy of 50 Hz interference subtraction from an electrocardiogram I. A, Dotsinsky I.K. Daskalov<br>
<br>
- Dynamic powerline interference subtraction from biosignals<br>
Ivaylo I. Christov<br>
<br>
The subtraction method extracts the powerline interference noise (50/60Hz and harmonics) during a<br>
a linear region between two consecutive QRS complexes and stores it in a buffer.<br>
The reference noise from the buffer is used to subtract it from the signal outside<br>
the linear region i.e. during the QRS complex.<br>
This method only works correctly when the samplefrequency of the ECG recording is an<br>
integer multiple of the powerline frequency.<br>
In case they are synchronized, this method will remove also the harmonics of the<br>
powerline frequency. In that case extra notch-filters for the harmonics are<br>
not necessary. The advantage of this method is that it will not cause ringing or other distortion<br>
in the waveform of the QRS complex (like notch-filters do).<br>
<br>
The following rules apply:<br>
- The samplefrequency of the ECG recording must be at least 240 Hz<br>
- The samplefrequency of the ECG recording must be an integer multiple of the powerline frequency<br>
- The physical dimension (units) of the ECG signal must be expressed in uV, mV or V.<br>
- The resolution of the ECG signal must be better than or equal to 10 uV/bit.<br>
<br>
Note: Acceptable results will be achieved when the accuracy of the recording sampleclock is <=100ppm<br>
and the powerlinefrequency is within +/-400ppm (+/-0.02Hz).<br>
A perfect result will be achieved when the recording sampleclock is synchronized with the<br>
powerlinefrequency in hardware (e.g. using a Phase Locked Loop in the acquisition hardware).
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="EEG_PLIF_filter">EEG powerline interference subtraction filter</a></h3>
<p>
The EEG powerline interference subtraction filter is inspired by the subtraction method described by:<br>
<br>
- A simple method for the removal of mains interference from pre-recorded electrophysiological data (W.J. Heitler)<br>
<br>
The subtraction method extracts the powerline interference noise (50/60Hz and harmonics) from the last 0.5 second<br>
and stores it in a buffer.<br>
The reference noise from the buffer is used to subtract it from the signal.<br>
This method only works correctly when the samplefrequency of the EEG recording is an<br>
integer multiple of the powerline frequency.<br>
In case they are synchronized, this method will remove also the harmonics of the<br>
powerline frequency. In that case extra notch-filters for the harmonics are<br>
not necessary. The advantage of this method is that it will not cause ringing/distortion<br>
(like notch-filters do).<br>
<br>
The following rules apply:<br>
- The samplefrequency of the EEG recording must be at least 100 Hz<br>
- The samplefrequency of the EEG recording must be an integer multiple of the powerline frequency<br>
<br>
Note: Acceptable results will be achieved when the accuracy of the recording sampleclock is <=100ppm<br>
and the powerlinefrequency is within +/-400ppm (+/-0.02Hz).<br>
A perfect result will be achieved when the recording sampleclock is synchronized with the<br>
powerlinefrequency in hardware (e.g. using a Phase Locked Loop in the acquisition hardware).
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="ECG_detection">ECG QRS detector</a></h3>
<p>
The quickest way to run the QRS detector and to import the beats as annotations, is to use the QRS detector in the Tools menu.<br>
You will be able to select one of the signals on your screen as the source for the QRS detector.<br>
The selected signal must have a samplerate of at least 200 Hz and must have a physical dimension (unit)specified in uV, mV or V.<br>
The detector will process the whole file and it will import the R-peaks as annotations.<br>
The label "R-peak" is used by default for the annotations but this can be changed in the settings (Settings -> Options).<br>
Also, the heart rate will be plotted in a separate window. Right-click on the plot to access some settings for the plot.<br>
The annotations can be exported to different formats using the <a href="#Export_annotations">Export annotations tool</a>.<br>
<br>
Otherwise, toggling the "Heart Rate" button toggles on or off the detection and calculation of the heartrate expressed in beats per minute (bpm).<br>
The "Heart Rate" button can be found in the <a href="#Signalproperties">Signalproperties dialog</a>.
This tool will create a new trace on the screen that represents the beats per minute.<br>
<br>
The algorithm used for the QRS detection is derived from "A Real-Time QRS Detection Algorithm" by Jiapu Pan and Willis J. Tompkins.<br>
<a href="https://courses.cs.washington.edu/courses/cse474/18wi/labs/l8/QRSdetection.pdf">https://courses.cs.washington.edu/courses/cse474/18wi/labs/l8/QRSdetection.pdf</a><br>
<br>
The R-peaks and/or RR-interval times (beat to beat) can be exported to an ascii-file for analysis in other programs.<br>
After you switched on the Heart Rate detection, go to "Tools -> Import/Export ECG RR-interval".<br>
Only the part of the signal that is visible on the screen will be exported, except when you check the "Whole recording" checkbox.<br>
There is also the possibility to import the RR-intervals as annotations.<br>
<br>
Some statistics about the Heart Rate (variability) are available <a href="#HR_statistics">here</a>.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="HR_statistics">Heart Rate statistics</a></h3>
<p>
When the <a href="#ECG_detection">ECG QRS detector</a> is enabled, you can view some statistics about the<br>
Heart Rate (variability) in the <a href="#Signalproperties">Signalproperties</a>. Once you see the Signalproperties dialog,<br>
click on the "Statistics" button. A brief description of the statistics:<br>
<br>
- Mean, the average of the RR-intervals.<br>
- SDNN, the standard deviation of RR-intervals.<br>
- RMSSD, the square root of the mean squared difference of successive RR's.<br>
- NN20, the number of pairs of successive RR's that differ by more than 20 ms.<br>
- pNN20, the proportion of NN20 divided by total number of RR's as a percentage.<br>
- NN50, the number of pairs of successive RR's that differ by more than 50 ms.<br>
- pNN50, the proportion of NN50 divided by total number of RR's as a percentage.<br>
<br>
The data used for the statistics is derived from the timewindow that is visible on the screen.<br>
<br>
In case you want to see this info permanently at the bottom of the screen during navigation through the file,<br>
use the following procedure.<br>
First, import the output of the <a href="#ECG_detection">ECG QRS detector</a> as annotations as described here: <a href="#Export_Import_ECG_RR_interval">Export/Import ECG RR-interval</a><br>
Now right-click on an annotation named "R-peak" and select "Heart Rate Variability".<br>
A new window with the statistics will appear. Close it.<br>
From now on, after changing file position e.g. PgUp/PgDn, you will see the updated statistics at the bottom of the screen.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Export_Import_ECG_RR_interval">Export/Import ECG RR-interval</a></h3>
<p>
This tool can be used to export the output of the <a href="#ECG_detection">ECG QRS detector</a>,<br>
or<br>
it can be used to import the output of the <a href="#ECG_detection">ECG QRS detector</a> as annotations.<br>
<br>
After having imported the <a href="#ECG_detection">ECG QRS detector</a> output as annotations, more options<br>
are available by right-clicking on one of the annotations in the annotationlist.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Custom_fir_filter">Custom FIR filter</a></h3>
<p>
The Custom FIR filter can be used to create a customized Finite Impulse Response (FIR) filter.<br>
There are three methods to design/specify a FIR filter:<br>
<br>
If you already have the filter coefficients (so-called "filter taps") obtained from another source, simply copy and paste them into<br>
the Filter taps list and select the signals to which the filter needs to apply to (select/highlight them with the mouse).<br>
<br>
The second method is to use the FIR filter designer that creates a phase-linear, Windowed Sinc FIR filter with flat passbands,<br>
or a phase-linear filter with a user specified passband and ripple and stopband attenuation, using the Parks-McClellan algorithm.<br>
</p>
<h4>Windowed Sinc algorithm to calculate a phase-linear, flat passband FIR filter.</h4>
<p>
Specify filter type (lowpass, highpass, bandpass, bandstop), samplerate of the selected signal(s), the cutoff frequency and<br>
and the transition bandwidth (steepness).
</p>
<h4>Parks-McClellan algorithm to calculate a phase-linear, equiripple FIR filter.</h4>
<p>
Specify the pass- and stopbands with their respective start- and stopfrequencies, gain and ripple.<br>
A passband usually has a gain of 1 (it must be more than zero).<br>
A stopband must have a gain of zero. Bandwidth must be at least 5% and the transition between bands must be<br>
at least 5%. After entering the filter specifications press the "Design" button.<br>
Examples:<br>
For a lowpass filter, specify a passband and a stopband (2 bands).<br>
For a highpass filter, specify a stopband and a passband (2 bands).<br>
For a bandpass filter, specify a stopband, a passband and a stopband (3 bands).<br>
<br>
Click on the "No predefined" combobox to select one of the predefined filtertypes to help you get started.<br>
<br>
<b>Note</b>: The Parks-McClellan algorithm cannot find solutions for all possible filter specifications.<br>
In case it's not able to create the filter, try changing the filter parameters or use the Windowed Sinc filter instead.<br>
<br>
Resuming:<br>
- Select the filter design method by selecting the tab "Windowed Sinc" or "Parks-McClellan".<br>
- Adjust the parameters for the filter.<br>
- Click on the "Design" button.If there are no errors in the parameters, the coefficients will be calculated<br>
and shown together with the filters' response curve.<br>
- Select and highlight with the mouse the signals which you want to apply the filter to.<br>
- Click on the "Apply" button.<br>
<br>
Note: A filter "tap" is simply a coefficient/delay pair. The number of taps is an indication of:<br>
- the amount of memory required to implement the filter<br>
- the number of calculations required<br>
- the amount of "filtering" the filter can do; in effect, more taps means more stopband attenuation, less ripple, narrower filters, etc.<br>
<br>
Warning: using a FIR filter with many taps can slow down the processing considerably.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Spike_filter">Spike filter</a></h3>
<p>
The Spike filter can be used to filter out spikes, fast transients, glitches or pacemaker impulses.<br>
Velocity is expressed in units (e.g. uV) per 0.25 milli-Seconds. If the filter detects two fast transients<br>
with opposite polarity and within 3 milli-Seconds, it will consider it a spike which will be suppressed.<br>
<br>
The transient is measured for every sample with a delta t of 0.25 milli-Seconds.<br>
(The sample will be compared with an older sample 0.25 milli-Seconds before.)<br>
<br>
Setting the value of velocity too high, will cause the spikes not to be detected.<br>
Setting the value of velocity too low, will cause false triggers.<br>
<br>
Hold-off is used to prevent a re-trigger of the filter within the hold-off period after the last trigger.<br>
<br>
The Spike filter cannot be used with samplerates lower than 4000 Hz.<br>
Signals with lower samplerates will not be visible in the Spike filter dialog.<br>
<br>
The Spike filter dialog has no apply button. Activating or de-activating the spike filter is simply done<br>
by selecting or de-selecting one or more signals.<br>
Changing the value of velocity or holdoff will cause an immediate update of the screen.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Zoomfunction">Zoomfunction</a></h3>
<p>
There are multiple ways to zoom-in:<br><br>
- By pressing (several times) Ctrl++ or Ctrl+- (this will zoom-in/-out horizontally only i.e. the timescale changes).<br>
<br>
or<br>
<br>
- By using the mouse wheel while keeping the Ctrl key pressed (this will zoom-in/-out horizontally only i.e. the timescale changes).<br>
<br>
or<br>
<br>
- You can zoom into a trace on the screen by drawing a rectangle with the mouse.<br>
Keep the left mousebutton pressed and move the mousepointer in the direction of the<br>
right lower corner. When you release the left mousebutton, the content of the rectangle<br>
will be expanded to the whole screen. (It will zoom-in horizontally and vertically) You can repeat this step and zoom in again.<br>
(The rectangle drawn must have a size of at least 25 x 25 screen pixels. If not, the action will be ignored.)<br>
<br>
Use the backspace button on your keyboard to zoom out and restore the previous settings.<br>
After using the backspace button, you can zoom in again by pressing the insert button on<br>
your keyboard.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Floatingruler">Floating ruler</a></h3>
<p>
You can use a floating ruler for measurements. Leftclick on the signallabel of the signal<br>
of interest. A small dialog will appear. Click on "Ruler". A floating ruler will appear.<br>
Drag and drop the ruler with the left mousebutton. Rightclick to remove the ruler or press the "Esc" key.<br>
In Settings -> Options -> Other you can enable or disable a property of the ruler that will adjust the width<br>
of the ruler automatically in such a way that only integer numbers for "Hz" will be shown.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Crosshairs">Crosshairs</a></h3>
<p>
You can use one or two crosshairs for precise measurements. Press Alt+Shift+C or Leftclick on the signallabel<br>
of the signal of interest. A small dialog will appear. Click on Crosshair. A crosshair will<br>
appear. Drag and drop the crosshair with the left mousebutton. Now you can add another crosshair.<br>
The second crosshair will show you the differences (delta) in time and value of the signal(s).<br>
Pressing repeatedly Alt+Shift+C will move the crosshairs to the next signal.<br>
Rightclick to remove the crosshair(s) or press the Escape key.<br>
The looks of the crosshairs can be changed in the settings menu. You can enable/disable a horizontal line<br>
and/or a centered dot.<br>
The resolution (milliSecond or microSecond) can be selected in: Settings -> Options -> Annotation editor.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Statistics">Statistics</a></h3>
<p>
Some statistical info about a signal can be found in the <a href="#Signalproperties">Signalproperties</a>.<br>
and clicking on the "Statistics" button.
It will show the number of samples showed on the screen, the sum, mean, RMS (root mean square), and MRS<br>
(mean root square i.e average of rectified values) value of the samples showed on the screen.<br>
In addition, the number of zero-crossings (i.e. switching from positive to negative or vice versa)<br>
and the frequency of that part of the signal will be shown.<br>
Only the data from the page visible on the screen is used to calculate the statistics.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Montages">Montages</a></h3>
<p>
Montages can be used to store information about which signals should be shown on<br>
the screen, what combinations (derivations) should be made and other properties<br>
like filters, amplitude (sensitivity), offset, alias, color and pagetime (timescale).<br>
Once you have loaded a file for review and you have added all the signals you want<br>
(and/or all the combinations/derivations) and you have adjusted amplitude and colors<br>
and/or filters, you can save them as a montage.<br>
Go to Montage -> Save. A dialog will be opened where you can choose a directory<br>
and filename to store your montage.<br>
Next time when you load a file, you can load a montage via Montage -> Load.<br>
<br>
You can view the properties of a montage via Montage -> View saved montages or<br>
Montage -> View this montage.<br>
<br>
note:<br>
There are two possible methods to identify the signals in a montage, label based and index based.<br>
The default method is label based which uses the name of signal to identify to which signals the<br>
montage settings need to be applied.<br>
The second method uses the index (order of appearance in a file) of a signal. When in doubt about<br>
which method to use, use the default (label based).<br>
<br>
You can bind the F1 to F12 keys to a maximum of twelve different montages. This way you can quickly switch<br>
between different montages by pressing key F1, F2, etc.<br>
Go to Montage -> Edit key-bindings for montages.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Keyboard_bindings_for_montages">Keyboard bindings for montages</a></h3>
<p>
It is possible to create keyboard shortcuts (bindings) for predefined montages.<br>
Go to Montage -> Edit key-bindings for montages. Click on the first row (F1);<br>
Now you can select a <a href="#Montages">montage</a>. You can assign a maximum of twelve different<br>
montages to keys F1 - F12.<br>
Now you can quickly switch between predefined montages by pressing one of these keys.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Sessions">Sessions</a></h3>
<p>
You can save an EDFbrowser session for later use. This is particularly useful when you need to open<br>
<b>multiple</b> files and want to keep the state of the montages (including filters), file position, timesync mode,<br>
hypnograms, CDSAs, video, etc.<br>
When loading a previously saved session, all files opened (if any), will be closed. Then the file(s) which were<br>
saved in the session file will be opened. Then, the montage/signals will be added to the screen including any filters.<br>
<br>
The session file will have the extension .esf (EDFbrowser Session File).<br>
When saving a session, <b>absolute</b> paths or <b>relative</b> paths can be used.<br>
The default is to use the absolute paths but you can change this in Settings -> Options -> Other<br>
This setting is evaluated only when saving a session, not when loading a session.<br>
So, changing the setting between absolute and relative paths does not affect previously saved sessions.<br>
<br>
Pay attention, both ways of storing the paths have their advantages and disadvantages. If you want to share your files<br>
including the session file, with other people, than you should use relative paths and make sure that all files are<br>
on a local drive and on the same partition and/or station. Ideally, put all files in the same directory.<br>
In case you don't want to share your session file, it's recommended to use the absolute paths which will work<br>
with all file locations you have access to, including network drives. Also, when using absolute paths, you can move the<br>
.esf file to another directory (on the same computer!) without breaking anything.<br>
<br>
Note: The settings in Settings -> options are not in included in the session file.<br>
Changing one of those settings might still affect a session in some way.<br>
<br>
Alternatively, you can use a <a href="#Montages">montage</a> instead of a session. Montages can be applied to different<br>
recordings (of the same type).<br>
<br>
If you want to check the details of a saved session, you can do this by using: Session -> View saved sessions<br>
It will show you the settings stored in the session file. It also checks if the file paths are still valid.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Colors">Colors</a></h3>
<p>
Go to the Settings menu to change the colors like you prefer.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Calibration">Calibration</a></h3>
<p>
In the Settings menu go to the Calibration tab to calibrate your screen.<br>
This will achieve that the amplitude expressed in units/cm will have<br>
the correct height/value.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Timelock">Timelock and File synchronisation</a></h3>
<p>
When you open multiple files, you can choose to "timelock" all files with<br>
each other. This means that when you navigate (by pressing PgUp/Pgdwn)<br>
this will affect all signals on the screen. When you choose to "unlock" the files,<br>
only the signals of the "reference" file will be moved on the screen. You can<br>
change which file should be the reference in the Timesync menu.<br>
<br>
There are three kinds of timelock:<br>
<br>
- Offset<br>
<br>
The start of the recording of all files will coincide with each other.<br>
<br>
- Absolute time<br>
<br>
The clock/date-time of the different files will coincide with each other.<br>
(this is only useful when the period of registration overlap each other or when they are consecutive)<br>
<br>
- No timelock<br>
<br>
Only the signals from the file that has the "time reference" will move when you navigate.<br>
Use this option when you want to align two or more files manually.<br>
<br>
- Userdefined synchronizing<br>
<br>
Files are timelocked with a custom offset. Usually after synchronizing the<br>
files manually.<br>
<br>
<br>
The time shown in the leftbottom corner represents the time from the<br>
file that acts as the "reference". You can change which file should be<br>
the reference in the Time menu.<br>
<br>
You can adjust the horizontal position (time) of two different files by using<br>
two <a href="#Crosshairs">crosshairs</a>. Put one crosshair at a signal of the first file and put the second<br>
crosshair at a signal of the second file. Now click on Time -> synchronize by crosshairs.<br>
Now the position of the two crosshairs (and that particular position of the two files) will<br>
coincide with each other.<br>
Or you can drag a trace horizontally by keeping the middle mouse button (wheel) pressed.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="File_Info">File info / properties / header</a></h3>
<p>
To view the content of the header of a file (subject, recording, signalproperties like samplerates etc.),<br>
go to file -> info and select the file of interest.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Header_editor">Header editor</a></h3>
<p>
This tool can be used to edit (or anonymize) the header (file info) like subject, birthdate, etc.<br>
You can also edit labels (signalnames), physical dimension, pre-filter and transducer names.<br>
If the file you want to edit has been opened in EDFbrowser already, close it first before starting<br>
this tool.<br>
This tool can also be used to repair a file that cannot be opened with EDFbrowser because of an incompatibility.<br>
<br>
Errors that can be repaired with this tool:<br>
- invalid characters in the header (the EDF format allows (7-bit) ASCII characters only)<br>
- a wrong or missing timestamp (format) in the header (e.g. a colon instead of a dot between the numbers)<br>
- a wrong or missing datestamp (format) in the header (e.g. a dash instead of a dot between the numbers)<br>
- a wrong number of datarecords written in the header<br>
- a wrong filesize (file is not ending at the boundary of a datarecord)<br>
- a broken number i.e. a number with decimal(s) in the digital maximum/minimum field<br>
- the value for digital maximum is lower than or equal to digital minimum<br>
- the value for physical maximum equals physical minimum<br>
- illegal or extraneous data in the reserved field<br>
<br>
Do as follows: In EDFbrowser go to Tools -> Header editor. Select the file. Now click on the<br>
"save" button (you don't need to edit the content manually). Close the header editor.<br>
Now open the file in the usual way.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="EDFBDF_to_ASCII_format_converter">EDF(+)/BDF(+) to ASCII (CSV) format converter</a></h3>
<p>
This tool converts all the signals in an EDF or BDF-file to a plain ASCII text-file.<br>
It supports different samplerates between the signals.<br>
<br>
Four textfiles will be created:<br>
<br>
- EDFfilename_header.txt contains the general header of the file.<br>
- EDFfilename_signals.txt contains all signal headers of the file.<br>
- EDFfilename_data.txt contains the data of all signals.<br>
- EDFfilename_annotations.txt contains all annotations.<br>
<br>
filename_data.txt contains a separate line for each sampletime that occurs.<br>
Note to windows-users: these lines are separated by a linefeed only,<br>
so the file does NOT look OK in Notepad, use a real editor instead.<br>
<br>
Each line contains the comma-separated values of the sampletime and of all<br>
samples that were taken at that time.<br>
Sampletime is expressed in seconds, while sample values are expressed in the<br>
physical dimensions that are specified in filename_signals.txt.<br>
All values have a dot (.) as decimal separator.<br>
<br>
Different sampling frequencies are allowed in the file. In that case,<br>
not all signals are sampled at each sampletime.<br>
Those sample values are simply left empty, but the comma-separator is there.<br>
<br>
note:<br>
<br>
All comma's in headertext and annotations will be replaced by<br>
single quotes (') because they interfere with the comma-separated<br>
txt-files.<br>
<br>
Unicode/UTF-8 decoding in annotations is not supported because of<br>
the limitations of the ASCII txt-files.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Reduce_signals">Reduce signals, duration and/or samplerate</a></h3>
<p>
This tool can be used to reduce the number of signals in a file and/or to reduce the duration (length) of a file<br>
and/or to reduce the samplerate of one or more signals.<br>
First, open the file in the usual way in EDFbrowser. Then start the tool and select the file.<br>
Uncheck all the signals you do not want into the new file. If you want to shorten the file, choose the first<br>
datarecord (starttime) and the last datarecord (endtime).<br>
If you don't want to downsample, set the samplerate divider to 1 (default). Otherwise select one of the possible<br>
divider values. Those values depend on the actual samplerate and the datarecord duration.<br>
The anti-aliasing filter order can be chosen as well. The default is 4th order. This prevents practically<br>
any chance of aliasing.<br>
Note: if the samplerate divider is set to 1, no downsampling and no filtering will be performed.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Export_filtered_signals">Export filtered signals</a></h3>
<p>
This tool can be used to export the signals which are visible on the screen to a new EDF/BDF file<br>
including any applied filters and or derivations.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Export_annotations">Export annotations/events</a></h3>
<p>
This tool exports the annotations/events from an EDF+/BDF+ file.<br>
They can be saved as CVS, EDF+ or XML.<br>
If you have opened multiple files, you can choose to export all<br>
annotations of all opened files into one new file. The header of the file which acts as<br>
the "reference" will be copied into the new EDFplus file. The "reference" file can be selected<br>
in the menu <a href="#Timelock">Time -> Timereference</a>.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Import_annotations">Import annotations/events</a></h3>
<p>
This tool imports annotations/events. The inputfile can be ASCII (CSV), XML, EDF+, BDF+ or MIT/WFDB format.<br>
It's also possible to use a triggersignal in a DC-coupled channel/signal.<br>
</p>
<p>
Note: You have to open an EDF/BDF file first in order to be able to import annotations/events.<br>
</p>
<h4>ASCII</h4>
<p>
An ASCII-file must be organised in rows and columns.<br>
The decimal separator of numbers must be a dot.<br>
Grouping characters like the comma in for example "12,345.678" are not allowed.<br>
The example must be written as "12345.678".<br>
Line endings must use the "newline" or "linefeed" character (Unix style)<br>
In the import dialog, set the separator character (the character that separates the columns),<br>
for example: "tab" (tabulator),"," (comma) or ";"(semicolon).<br>
Set the column number of the onset time and the description/label.<br>
If the file starts with a header, adjust the "Data starts at line" spinbox in order to skip these lines.<br>
If there's only one column in the ascii/txt file (with onset time values), check the<br>
"Manual description" button and enter a description. This description will be used for all<br>
annotations that will be imported from that ascii/txt file.<br>
<br>
The onset time encoding can be expressed as:
</p>
<ul>
<li>relative from start of file and expressed in seconds</li>
<li>clock time: hh:mm:ss</li>
<li>clock time: hh:mm:ss.xxx</li>
<li>date time: yyyy-mm-ddThh:mm:ss</li>
<li>date time: yyyy-mm-ddThh:mm:ss.xxx</li>
</ul>
<h4>XML</h4>
<p>
XML-files need to be encoded either in ISO-8859-1 or UTF-8 character encoding.<br>
The root element name must be "annotationlist", child elements must be named "annotation".<br>
Inside the element "annotation" are the elements "onset", "duration" and "description".<br>
Onset is expressed in the ISO date-time format "yyyy-mm-ddThh:mm:ss" or "yyyy-mm-ddThh:mm:ss.xxx".<br>
Duration is expressed in seconds "145.23" or empty.<br>
Example:<br>
</p>
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<annotationlist>
<annotation>
<onset>2006-11-14T09:14:31.0000000</onset>
<duration></duration>
<description>REC START IIB CAL </description>
</annotation>
<annotation>
<onset>2006-11-14T09:14:31.0000000</onset>
<duration></duration>
<description>PAT IIB EEG </description>
</annotation>
<annotation>
<onset>2006-11-14T09:14:32.0000000</onset>
<duration></duration>
<description>A1+A2 OFF </description>
</annotation>
</annotationlist>
</pre>
<h4>MIT/WFDB</h4>
<p>
The onset time of the annotations in MIT/WFDB format are expressed in samples offset from the start of the recording.<br>
In case your file contains signals with different samplerates, you need to specify which samplerate should be used to<br>
calculate the onset time of the annotations.<br>
MIT/WFDB annotation files can have various extensions like *.ari *.ecg *.trigger *.qrs *.atr *.apn *.st *.pwave<br>
</p>
<h4>DC-events / DC-triggers</h4>
<p>
A "DC-event" consist of a positive impulse (startbit) followed by eight databits and a stopbit (lowlevel).<br>
This signal is recorded onto a dc-coupled inputchannel of the hardware during acquisition.<br>
The eight databits are used to identify a maximum of 256 different types of events/triggers.<br>
The startbit has always a high level and the stopbit has always a lowlevel.<br>
At idle the signal should stay at low level.<br>
The following example shows a dc-event with decimal code 170:<br>
</p>
<pre>
onsettime of the event
| bittime
| |<->|
v | |
1 Volt +---+ +---+ +---+ +---+ +---+
| | | | | | | | | |
| | | | | | | | | |<--triggerlevel = 0.5 Volt
| | | | | | | | | |
0 Volt ----------+ +---+ +---+ +---+ +---+ +---+--------------
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | | |
idle | | | | | | | | | stopbit, always low
| | | | | | | | db7
| | | | | | | db6
| | | | | | db5
| | | | | db4
| | | | db3
| | | db2
| | db1
| db0
startbit, always high
</pre>
<p>
The binary code in the example is 01010101 which is 170 decimal.<br>
The rising edge of the startbit represents the time of the event (for example, an evoked potential).<br>
The voltage levels can be freely chosen. In the importdialog adjust the triggerlevel to a level that is equal<br>
to: (lowlevel + highlevel) / 2.<br>
Also, set the bittime used for the DC-event.<br>
Note that the intervaltime between two consegutive events must be more than ten times the bittime.<br>
<br>
It is possible not to use the code but just only the startbit. In that case all triggers will have the code "0".<br>
In that case you can use a simple on/off pulse as a trigger.<br>
<br>
Note: The signal which contains the DC-event must be put on the screen in order to be available in the selectionscreen.<br>
Also, the signal must be unipolar, i.e. not a derivation. Next, the detectionalgorithm of the triggers in this signal will bypass<br>
any filters.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Z_EEG">Z-EEG</a></h3>
<p>
To use the Z-EEG measurement, leftclick on the signallabel and choose "Z-EEG".<br>
<br>
Z-ratio = ((Delta + Theta) - (Alpha + Beta)) / (Delta + Theta + Alpha + Beta)<br>
<br>
Z-ratio, therefore, is a measure of the relative contribution of slow to fast EEG activity within a<br>
2-second epoch. It ranges from -1 to +1, with negative values indicating a predominance of fast<br>
activity and positive values indicating a predominance of slow activity.<br>
<br>
A per page score for z-ratio was derived by averaging the majority of 15 2-second z-ratios.<br>
The average of the majority is the z-page.<br>
<br>
The algorithm is derived from<br>
<br>
<a href="https://pubmed.ncbi.nlm.nih.gov/8746389/">https://pubmed.ncbi.nlm.nih.gov/8746389/</a><br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="ASCII_to_EDF_converter">ASCII (CSV) to EDF/BDF format converter</a></h3>
<p>
This tool converts an ASCII-file (.csv or .txt file) to EDF or BDF. The following rules apply:<br>
<br>
- the data in the ASCII-file must be presented in their physical dimension (i.e. uV, bpm, mmHg, etc.)<br>
- the data in the ASCII-file must be organised in columns and rows<br>
- a row must contain values from different signals/channels acquired at the same sampletime<br>
- a column must represent a continuous sampled signal/channel<br>
- all signals/channels must have the same samplefrequency<br>
- the timeinterval between two consecutive samples of the same signal/channel must have a stable value (fixed samplerate)<br>
- the decimal separator (if any) must be a dot, not a comma<br>
<br>
Enter the following parameters:<br>
<br>
- the character that separates the different columns (i.e. "tab" ","(comma) ";"(semicolon) " "(space) etc.)<br>
<br>
- the number of columns<br>
<br>
- the line at which the data starts. some ASCII-files contain headers, so use this entry<br>
to tell the converter to skip n-lines before interpreting the data<br>
<br>
- samplefrequency<br>
<br>
- subject (the name of the subject)<br>
<br>
- recording (a description about the type of recording/acquisition)<br>
<br>
- startdate and time of the recording/acquisition<br>
<br>
- signals: for every column in the ASCII-file, there is a row in the signals-table.<br>
every row has a checkbox and four inputfields:<br>
<br>
- label (name of the signal/channel i.e. FP1, SaO2, Heartrate, etc.)<br>
- physical maximum (the maximum physical value that can occur, i.e. the maximum inputlevel<br>
of the acquisition equipment. A common value in EEG applications is 3000 uV)<br>
Physical minimum will be equal to physical maximum. For example, if you enter 3000, the<br>
range will be from +3000 to -3000<br>
- physical dimension (units, e.g. uV, mV, %, mmHg, bpm)<br>
- multiplier is normally 1.0. Some programs exports their ascii-data expressed in Volts while<br>
the signal is in the microVolt range. By changing the multiplier you can add gain to the signal before converting.<br>
For example, if the ascii-data is expressed in Volts and the signal is in the microVolt range (EEG),<br>
set the physical maximum to 3000, set the physical dimension to "uV" and set the multiplier to 1000000.<br>
<br>
It is possible to exclude columns, by unchecking the corresponding row in the signals-table.<br>
This can be useful when a column contains a time/datestamp or when you don't want to include<br>
a particular signal in the EDF/BDF-file.<br>
<br>
Click on the startbutton to start the conversion.<br>
Click on the savebutton to save the entered parameters in a template.<br>
Click on the loadbutton to load parameters from a template.<br>
<br>
Note: It's important to enter a correct value in the "physical maximum" field.<br>
If you to choose this value too small, the top of the signal will clip at the peaks.<br>
If you choose this value too big, small values of the signal will not be visible<br>
and the signal will look coarse.<br>
The ideal value for the "physical maximum" is just above (or equal to) the maximum value that can occur,<br>
i.e. the maximum possible output of the sensor or ADC, either positive or negative.<br>
<br>
Note 2: The maximum physical value that the converter can handle, is limited to 9999999. Values above<br>
will be clipped to 9999999 and values below -9999999 will be clipped at -9999999.<br>
If you expect higher values in your ascii-file, use the multiplier. For example,<br>
set the multiplier to 0.1, 0.01 or 0.001, etc.<br>
<br>
Note 3: If you think that, later, you want to make derivations (for example P4 - C4 in EEG applications),<br>
make sure that the signals have the same value in the physical maximum field.<br>
Also, do not set the checkbox "Auto detect physical maximum".
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Nihon_Kohden_to_EDF_format_converter">Nihon Kohden to EDF(+) format converter</a></h3>
<p>
This tool converts EEG-files in Nihon Kohden format to the European Data Format<br>
(EDF or EDF+ with annotations/events).<br>
<br>
Three files are needed for a conversion to EDF+:<br>
<br>
- nihonkohdenfile.eeg<br>
- nihonkohdenfile.pnt<br>
- nihonkohdenfile.log<br>
<br>
In case you have only the nihonkohdenfile.eeg you cannot convert to EDF+.<br>
It is still possible to convert to EDF. In that case there will be no annotations/events and patientinfo.<br>
<br>
The Marker/Event channel will be decoded on the fly when opening the new created EDF+ file with EDFbrowser.<br>
If the screen becomes too "noisy" because of drawing too many annotations, you can switch them of by<br>
unchecking the "Read Nihon Kohden Trigger/Marker signal" checkbox in the Settings-menu.<br>
The new settings will be effective after closing and re-opening the file.<br>
Also, you can selectively hide annotations by rightclicking on an annotation in the annotationwindow.<br>
<br>
Note: In case you changed the default electrodenames in the Nihon Kohden acquisition software,<br>
you need also the *.21e file which contains the electrode names (labels).
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="UNISENS_TO_EDFPLUS">Unisens to EDF+ format converter</a></h3>
<p>
This tool converts the waveform data and events/triggers from a collection of Unisense data files to EDF+.<br>
<br>
Limitations of the converter:<br>
- the Unisens XML-file must be encoded in UTF-8 or ISO-8859-1.<br>
- Broken numbers for samplerate >= 1 Hz will be rounded to the nearby integer e.g. 2.75 Hz will be rounded to 3 Hz.<br>
Samplerates below 1 Hz will be rounded to 1/2, 1/3, 1/4, etc. til 1/1000 Hz.<br>
Lowest samplerate is 0.001 Hz<br>
- Output format of the converter is EDF+ (16-bit) when all files have a samplesize of 16-bit or lower.<br>
When one or more files have a samplesize of more than 16-bit, output format of the converter will be BDF+ (24-bit).<br>
<br>
An extra feature of the converter which is not in the official Unisens data format specification:<br>
- support for binary sampletypes: int24 and uint24.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="SCP_ECG_to_EDFplus">SCP ECG to EDF+ format converter</a></h3>
<p>
This tool converts an SCP-ECG (EN 1064:2005+A1:2007) file to EDF+.<br>
Before conversion it performs a CRC-check on the file.<br>
Bimodal compression is supported.<br>
Reference beat subtraction is supported.<br>
Pacemake spike measurements, if present, are imported as well.<br>
Encoding using the default Huffman table is supported.<br>
Customized Huffman tables are not supported.<br>
Character-encoding other than ASCII/Latin-1 is not supported.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="MIT_to_EDFplus">MIT (PhysioBank) to EDF+ format converter</a></h3>
<p>
This tool converts the waveform data and annotations from the MIT-format to EDF+.<br>
It's used for files from PhysioBank at <a href="https://physionet.org/">physionet.org</a>.<br>
At this moment it supports the Formats "212", "16" and "61".<br>
Most of the signal files in PhysioBank are written in format 212.<br>
Annotations (in the files with extensions *.atr, *.ari, *.ecg, *.trigger, *.qrs, *.apn, *.st)<br>
will be read and converted to EDF+ as well.<br>
In case the file that contains the annotations has a different extension, just rename the<br>
extension to .atr. Otherwise the converter will not read the annotations.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Manscan_to_EDFplus">Manscan to EDF+ format converter</a></h3>
<p>
This tool converts a Manscan MICROAMPS binary data file to EDF+.<br>
Two files are needed for the conversion, one with the extension ".mbi" and one with the extension ".mb2".<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Biosemi_to_BDFplus">Biosemi to BDF+ format converter</a></h3>
<p>
This tool converts a Biosemi data file to BDF+ and makes it possible to visualize the<br>
trigger interrupts and the "new epoch" in EDFbrowser. <br>
The Status signal of the Biosemi datafile which contains the input triggers will be<br>
converted to annotations in the BDF+ format. The original file will not be altered.<br>
Instead, a copy of the file will be made in the BDF+ format which will contain annotations<br>
extracted from the Status signal (which contains the input triggers).<br>
The original Status signal will be preserved in the new file.<br>
You'll find the Biosemi to BDF+ converter in the Tools-menu.<br>
<br>
BDF+ files are backwards compatible and can be read and processed with older BDF software.<br>
BDF+ files can be converted to EDF+ while preserving your annotations.<br>
Use the <a href="#bdf2edfconverter">BDF to EDF converter</a> in the Tools menu.<br><br>
Limitations:<br><br>
- The maximum number of annotations (input triggers) in the new file is:<br>
duration of file in seconds multiplied by 32. If the original file contains more trigger input events, they will be ignored.<br>
If, for example, the duration of a file is 5 minutes, the first 9600 input triggers will be converted to BDF+ annotations.<br><br>
- The resolution of the annotations is limited to 100 microSeconds (0.0001 sec.).<br><br>
- Only the 17 lowest bits of the Status signal will be evaluated and converted.<br><br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Fino_to_EDF">Finometer to EDF converter</a></h3>
<p>
This tool converts the ASCII-output (*.txt) of the Finometer (Beatscope) to EDF. <br>
Finometer is a non-invasive stationary blood measurement and beat to beat haemodynamic monitoring system<br>
made by Finapres Medical Systems.<br>
<br>
Start Beatscope and open the file of interest.<br>
<br>
Go to File -> Export.<br>
<br>
- set export type to textfile<br>
- set timeformat to seconds<br>
- check output: header<br>
- set averaging to none<br>
- check datacolumnwidth: delimiter<br>
- set delimiter to semicolon ";"<br>
- check export beats and/or events: beats only<br>
- select the channels you want to export<br>
<br>
Now click on the Export-button to create the file.<br>
<br>
In EDFbrowser, you'll find the Finometer to EDF converter in the Tools-menu.<br>
In order to create a correct EDF-file header, enter the subject and a description about<br>
the type of recording/acquisition.<br>
Adjust the startdate and starttime to the date and time when the Finometer registration took place.<br>
<br>
Click on the "select file" button to select the Finometer/Beatscope file.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Wave_to_EDF">Wave to EDF converter</a></h3>
<p>
This tool converts a Waveform Audio File (*.wav) to EDF.<br>
The converter accepts 8, 16 and 24 bit wave files.<br>
It accepts 1 to 256 channels and samplerates from 1 Hz to 500000 Hz.<br>
8 and 16 bit wave files will be converted to EDF. 24 bit wave files will be<br>
converted to BDF. Compressed files are not supported.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="FMaudio_to_EDF">FM Audio ECG to EDF converter</a></h3>
<p>
This tool converts an audiorecording containing an FM modulated ECG waveform to EDF.<br>
The carrier centerfrequency of the FM signal is 1900Hz. Frequency deviation is 100Hz<br>
per milli-Volt. This technique is used to upload ECG recording via POTS (Plain Old Telephone Service).<br>
The converter has been tested with audio recordings from Cardiette Microtel but should work<br>
also with devices from Aerotel HeartView.<br>
<br>
The converter accepts recordings stored in WAV format with 16-bit resolution.<br>
The recording must contain only one channel (mono) and the samplerate must be<br>
one of the following: 8000, 11025, 16000, 22050, 32000, 44100, 48000, 88200 or 96000 Hz.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Nexfin_to_EDF">Nexfin to EDF converter</a></h3>
<p>
This tool converts the ASCII-output (*.csv) of the Nexfin (FrameInspector) to EDF. <br>
Nexfin is a non-invasive stationary blood measurement and beat to beat haemodynamic monitoring system<br>
made by Bmeye B.V.<br>
<br>
Start FrameInspector (it can be downloaded from the Nexfin website), open the file of interest and<br>
choose "Generic export".<br>
<br>
Now click on the Export-button to create the csv and bin files.<br>
<br>
In EDFbrowser, you'll find the Nexfin to EDF converter in the Tools-menu.<br>
In order to create a correct EDF-file header, enter the subject and a description about<br>
the type of recording/acquisition.<br>
Adjust the startdate and starttime to the date and time when the Nexfin registration took place.<br>
<br>
Select which file you want to convert: beat-to-beat data, blood pressure waveform or the analog inputs.<br>
(for analog inputs: select "4 inputs" in case AO option is configured, else "1 input")<br>
Click on the "select file" button to select the Nexfin/FrameInspector csv or bin file.<br>
For beat-to-beat data you need to select the file that ends with "_100.csv".<br>
For blood pressure waveform you need to select the file that ends with "_103.bin".<br>
For the analog inputs you need to select the file that ends with "_032.bin".
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Emsa_to_EDF">Emsa to EDF+ format converter</a></h3>
<p>
This tool converts an Emsa eeg-file (*.PLG) to EDF+. If the corresponding *.LBK file is<br>
present, the annotations/events will be exported to EDF+ as well.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Cardiotrak_to_EDF">CardioTrak EDF to EDF+ format converter</a></h3>
<p>
This tool converts a CardioTrak EDF file to EDF+ and extracts non-compliant events to EDF+ annotations.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="edfd_to_edfc">EDF+D to EDF+C converter</a></h3>
<p>
This tool converts an EDF+D file to multiple EDF+C files. An EDF+D file can contain<br>
interrupted recordings. This converter export every uninterrupted recording to a new<br>
uninterrupted EDF+C file.<br>
This tool can be used for BDF+D files as well.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="bdf2edfconverter">BDF(+) to EDF(+) converter</a></h3>
<p>
This tool converts a BDF file to an EDF file. A BDF+ file will be converted to<br>
EDF+, including the annotations/events.<br>
It offers a first order highpass-filter to remove the DC-offset of the signal in order<br>
to make the 24-bits samples fit into the 16-bits samples of EDF.<br>
The cutoff-frequency of the highpass-filters can be adjusted for every signal.<br>
You can also select which signals have to be converted into the new EDF(+) file.<br>
Increasing the divider lowers the resolution but increases the range (physical<br>
maximum and minimum)
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="EDF_and_BDF_compatibility_checker">EDF(+) and BDF(+) compatibility checker</a></h3>
<p>
This tool checks if a file is EDF(+) or BDF(+) compliant.<br>
It checks the data and all the annotations and timestamps.<br>
When it finds an error, it tells you what the error is and where it is in the file.<br>
<br>
A description of the EDF fileformat can be found at:<br>
<br>
<a href="https://www.teuniz.net/edfbrowser/edf%20format%20description.html">https://www.teuniz.net/edfbrowser/edf format description.html</a><br>
<br>
A description of the EDF+ fileformat can be found at:<br>
<br>
<a href="https://www.edfplus.info/specs/edfplus.html">https://www.edfplus.info/specs/edfplus.html</a><br>
<br>
A description of the BDF fileformat can be found at:<br>
<br>
<a href="https://www.biosemi.com/faq/file_format.htm">https://www.biosemi.com/faq/file_format.htm</a><br>
<br>
A description of the BDF+ fileformat can be found at:<br>
<br>
<a href="https://www.teuniz.net/edfbrowser/bdfplus%20format%20description.html">https://www.teuniz.net/edfbrowser/bdfplus format description.html</a><br>
<br>
note:<br>
<br>
A compatibility check of the header of the file is always done when you open an<br>
EDF(+)/BDF(+) file. When a file appears to be incompatible it will not be opened,<br>
you will be informed about the cause of the incompatibility instead.<br>
<br>
Note: If a file cannot be opened with EDFbrowser because of invalid characters in the header<br>
(the EDF format allows 7-bit ascii characters only), you can repair the non-compliant file with the <a href="#Header_editor">header editor</a>.<br>
In EDFbrowser go to Tools -> Header editor. Select the file. Now click on the "save" button<br>
(do not edit the content!). Close the header editor. Now open the file in EDFbrowser.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Binary_to_EDF">Binary/raw to EDF</a></h3>
<p>
This tool converts the binary (raw) (ADC-)data from a file to a new EDF-file.<br>
This is a kind of "last resort" measure when there are no other tools or EDF-converters available.<br>
You need to figure out how the data in your file is organised and you need to have a good knowledge of<br>
how computers store data in memory (file). This tool is for experts only.<br>
<br>
All signals must have the same samplerate and the data-samples in the file must be stored sequentially:<br>
sample 1 ch.1, sample 1 ch.2, sample 1 ch.3,<br>
sample 2 ch.1, sample 2 ch.2, sample 2 ch.3,<br>
sample 3 ch.1, sample 3 ch.2, sample 3 ch.3,<br>
sample 4 ch.1, etc.<br>
<br>
Set the samplefrequency and the number of signals (channels).<br>
The samplesize is the size of a digital sample expressed in bytes.<br>
Encoding is the binary system used to present a digital value:<br>
<br>
<pre>
value bipolar offset binary 2's complement<br>
15 1111 0111<br>
14 1110 0110<br>
.... .... ....<br>
2 1010 0010<br>
1 1001 0001<br>
0 1000 0000<br>
-1 0111 1111<br>
-2 0110 1110<br>
.... .... ....<br>
-15 0001 1001<br>
-16 0000 1000<br>
</pre>
<p>
See also: <a href="http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sbaa042">Coding Schemes Used with Data Converters</a><br>
Most files contain some kind of header. Adjust the Offset to the point where the data starts.<br>
When a digital sample consists of multiple bytes, and the LSB (least significant byte) comes first,<br>
select little Endian. If the MSB (most significant byte) comes first, select big endian.<br>
Data blocksize is usually 0. Used only when some bytes must be skipped in a regular interval.<br>
Skip bytes is the number of bytes that must be skipped (ignored) after every Data blocksize number of databytes.<br>
Skip bytes is ignored when Data blocksize is set to 0.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Print_to_PDF">Print to PDF</a></h3>
<p>
You can print/export to PDF in File -> Print -> to PDF
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Print_to_IMG">Print to image</a></h3>
<p>
You can print/export to an image in File -> Print -> to Image
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Print_to_EDF">Print to EDF</a></h3>
<p>
The option "Print to EDF" creates a new EDF-file which will contain the signals<br>
(and annotations) as they are on your screen. What you see is what you get,<br>
like when you print to a printer, PDF-file or image. You can also open multiple<br>
files, shift them in time (by using the different timelock options in the timemenu)<br>
and "print" the result as one new EDF-file. The result will contain the time-shifted<br>
signals.<br>
It is also possible to extract one or more signals from one (or more) files into a new file.<br>
<br>
This function is located in File -> Print menu.<br>
<br>
The following rules apply:<br>
<br>
- the length (duration) of the new file will be equal to the selected displaytime (timescale)<br>
<br>
- combined signals (derivations) will become one signal like they are on your screen<br>
<br>
- in case of multiple files, the new file will get the subject, recording, date and time<br>
of the file that has the <a href="#Timelock">reference</a> at the moment of printing.<br>
You can select the reference in the Time-menu<br>
<br>
- if (one of) the file(s) is of type EDF+, the outputfile will be an EDF+ file as well,<br>
otherwise EDF<br>
<br>
- when selected multiple files, either the datarecord duration of these files<br>
needs to be the same or an integer multiple of each other,<br>
or the samplerates of the signals must have integer values.<br>
<br>
- if you selected any filters, these will be applied as well
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Print_to_BDF">Print to BDF</a></h3>
<p>
The option "Print to BDF" creates a new BDF-file which will contain the signals<br>
(and annotations) as they are on your screen, in the same way like the <a href="#Print_to_EDF">Print to EDF</a> function,<br>
except that it is also possible to print EDF(+) files to BDF. You can even mix<br>
EDF and BDF files onto your screen and print them to a new BDF file.
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Unify_resolution">Unify resolution</a></h3>
<p>
This tool can be used to give a selected group of signals the same resolution.<br>
Here, resolution means units per least significant bit e.g. uV/bit.<br>
The selected signals must have equal physical dimension (unit) e.g. uV, mV, etc.<br>
The tool creates a copy of the file and corrects the resolution for the selected signals.<br>
It's advised to set the value for the new physical maximum equal to or just above the highest<br>
physical maximum/minimum found in the group of selected signals.<br>
<br>
Typically, physical maximum is set to 3000uV (3mV) for EEG, 6000uV (6mV) for ECG, in case of EDF (16 bit).<br>
For BDF (24 bit) on the other hand, 300000uV (300mV) is a typical value for ExG.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="Commandline_options">Commandline options</a></h3>
<p>
edfbrowser [--rc-host-port=<portnumber>] [[--stream] datafile.edf [mymontage.mtg]]<br>
<br>
It is possible to start the program from the commandline:<br>
<br>
edfbrowser<br>
<br>
this will start the program.<br>
<br>
or<br>
<br>
edfbrowser myfile.edf<br>
<br>
this will start the program with the file myfile.edf opened.<br>
<br>
or<br>
<br>
edfbrowser myfile.edf mymontage.mtg<br>
<br>
this will start the program with the file myfile.edf opened and using the montage mymontage.mtg.<br>
<br>
or<br>
<br>
edfbrowser --stream myfile.edf mymontage.mtg<br>
<br>
this will start the program with the streaming file myfile.edf opened and using the montage mymontage.mtg.
</p>
<p><br></p>
<h3><a name="Remote_control">Remote control</a></h3>
<p>
EDFbrowser can be controlled by another program using a direct TCP connection (aka <a href="https://en.wikipedia.org/wiki/Telnet">Telnet</a>) using a <a href="https://en.wikipedia.org/wiki/Localhost">loopback port</a>.<br>
Start EDFbrowser with the option --rc-host-port=<portnumber>.<br>
<a href="https://en.wikipedia.org/wiki/Port_(computer_networking)">Portnumber</a> is the TCP port and must be free and between 1024 and 65535.<br>
(You can use the command <a href="https://en.wikipedia.org/wiki/Netstat">ss -lntu</a> to check for ports already occupied on your system, use a port number that is not in that list.)<br>
<br>
The following rules apply:<br>
- Max one connection at a time.<br>
- Every command/query must end with a newline character.<br>
- The decimal separator (if any) must be a dot.<br>
- Commands are not case sensitive<br>
- Commands may be abbreviated as long as they can be uniquely identified and as long as they contain at least three characters.<br>
<br>
After starting EDFbrowser, you can test the control port by using the command telnet 127.0.0.1 <portnumber> (or use <a href="https://en.wikipedia.org/wiki/PuTTY">Putty</a>)<br>
In case of connection problems, check your firewall settings.<br>
<br>
By default, the remote control port will be configured as a <a href="https://en.wikipedia.org/wiki/Localhost">loopback port</a> and will not be accessible from your network.<br>
You can make the remote control port publicly accessible by enabling it in Settings -> Options -> Other.<br>
However, this is not recommended and can be a potential security issue.<br>
<br>
Command list: parameters in angle brackets are mandatory and must be replaced with actual values<br>
</p>
<div>
<table class="border">
<tr class="border">
<th class="border" style="text-align:center;">Command</th>
<th class="border" style="text-align:center;">Description</th>
</tr>
<tr class="border">
<td class="border">*LIST?</td>
<td class="border">Returns a list of commands</td>
</tr>
<tr class="border">
<td class="border">*IDN?</td>
<td class="border">Identity query, returns the program name and version</td>
</tr>
<tr class="border">
<td class="border">*QUIT</td>
<td class="border">Closes EDFbrowser</td>
</tr>
<tr class="border">
<td class="border">*RST</td>
<td class="border">Closes all open files</td>
</tr>
<tr class="border">
<td class="border">*CLS</td>
<td class="border">Clears the error queue</td>
</tr>
<tr class="border">
<td class="border">*OPC?</td>
<td class="border">Operation complete: returns 1 if it has finished the operation, otherwise it returns 0</td>
</tr>
<tr class="border">
<td class="border">FILe:OPEn <path></td>
<td class="border">Opens a file</td>
</tr>
<tr class="border">
<td class="border">FILe:CLOse:ALL</td>
<td class="border">Closes all open files</td>
</tr>
<tr class="border">
<td class="border">FILe:PLAy</td>
<td class="border">Toggles play/pause</td>
</tr>
<tr class="border">
<td class="border">FILe:STOp</td>
<td class="border">Stop playback</td>
</tr>
<tr class="border">
<td class="border">STReam:OPEn <path></td>
<td class="border">Opens a streaming file</td>
</tr>
<tr class="border">
<td class="border">MONtage:LOAd <path> <file number></td>
<td class="border">Loads a montage file and applies it to the file "file number", file number indicates which one of the opened files, must be in the range 1 - 32<br>
File numbering order equals the order in which they were opened</td>
</tr>
<tr class="border">
<td class="border">SESsion:LOAd <path></td>
<td class="border">Loads a session file</td>
</tr>
<tr class="border">
<td class="border">SIGnal:ADD:LABel <label> <file number></td>
<td class="border">Adds the signal "label" from the file "file number" to the screen, file number indicates which one of the opened files, must be in the range 1 - 32<br>
File numbering order equals the order in which they were opened</td>
</tr>
<tr class="border">
<td class="border">SIGnal:AMPlitude:ALL <units></td>
<td class="border">Sets the amplitude for all signals (expressed in units/cm), units can be an integer or a real number and must be in the range +1e-7 to +1e6</td>
</tr>
<tr class="border">
<td class="border">SIGnal:AMPlitude:LABel <label> <units></td>
<td class="border">Sets the amplitude for signal "label" (expressed in units/cm) e.g. SIGNAL:AMPLITUDE:LABEL F3 100<br>
Units can be an integer or a real number and must be in the range +1e-7 to +1e6</td>
</tr>
<tr class="border">
<td class="border">SIGnal:AMPlitude:FIT:ALL</td>
<td class="border">Adjusts the amplitude for all signals automatically (fit to pane)</td>
</tr>
<tr class="border">
<td class="border">SIGnal:AMPlitude:FIT:LABel <label></td>
<td class="border">Adjusts the amplitude for signal "label" automatically (fit to pane)</td>
</tr>
<tr class="border">
<td class="border">SIGnal:OFFset:ADJust:ALL</td>
<td class="border">Adjusts the vertical offset relative to the baseline for all signals automatically</td>
</tr>
<tr class="border">
<td class="border">SIGnal:OFFset:ADJust:LABel <label></td>
<td class="border">Adjusts the vertical offset relative to the baseline for signal "label" automatically</td>
</tr>
<tr class="border">
<td class="border">SIGnal:OFFset:ZERo:ALL</td>
<td class="border">Sets the vertical offset relative to the baseline for all signals to zero</td>
</tr>
<tr class="border">
<td class="border">SIGnal:OFFset:ZERo:LABel <label></td>
<td class="border">Sets the vertical offset relative to the baseline for signal "label" to zero</td>
</tr>
<tr class="border">
<td class="border">SIGnal:INVert:ALL <0|1|2></td>
<td class="border">Display all signals inverted if value is 1, display all signals normally if value is 0,<br>
if value is 2: toggle (invert if not inverted, display normal if inverted)</td>
</tr>
<tr class="border">
<td class="border">SIGnal:INVert:LABel <label> <0|1|2></td>
<td class="border">Display signal "label" inverted if value is 1, display signal label normally if value is 0,<br>
if value is 2: toggle (invert if not inverted, display normal if inverted)</td>
</tr>
<tr class="border">
<td class="border">SIGnal:REMove:LABel <label></td>
<td class="border">Removes signal "label" from the screen</td>
</tr>
<tr class="border">
<td class="border">SIGnal:REMove:ALL</td>
<td class="border">Removes all signals from the screen</td>
</tr>
<tr class="border">
<td class="border">TIMEScale?</td>
<td class="border">Returns the timescale in seconds</td>
</tr>
<tr class="border">
<td class="border">TIMEScale <seconds></td>
<td class="border">Sets the timescale, seconds can be an integer or a real number and must be in the range +1e-5 to +6048e3</td>
</tr>
<tr class="border">
<td class="border">TIMEScale:MMSecond?</td>
<td class="border">Returns the timescale in millimeters per second</td>
</tr>
<tr class="border">
<td class="border">TIMEScale:MMSecond <millimeters></td>
<td class="border">Sets the timescale in millimeters per second, can be an integer or a real number and must be in the range 1e-3 to 1e6</td>
</tr>
<tr class="border">
<td class="border">VIEwtime?</td>
<td class="border">Returns the viewtime in seconds relative to the start of the recording</td>
</tr>
<tr class="border">
<td class="border">VIEwtime <seconds></td>
<td class="border">Sets the viewtime relative to the start of the recording, seconds can be an integer or a real number and must be in the range -3e1 to +6048e3</td>
</tr>
<tr class="border">
<td class="border">TIMELock:MODe?</td>
<td class="border">Returns the <a href="#Timelock">Timelock / File synchronisation</a> mode, 0 = offset, 1 = absolute, 2 = no locking, 3 = user defined locking</td>
</tr>
<tr class="border">
<td class="border">TIMELock:MODe <0|1|2|3></td>
<td class="border">Sets the <a href="#Timelock">Timelock / File synchronisation</a> mode, 0 = offset, 1 = absolute, 2 = no locking, 3 = user defined locking</td>
</tr>
<tr class="border">
<td class="border">TIMELock:REFerence?</td>
<td class="border">Returns the file number of the file that acts as the <a href="#Timelock">reference</a>, file numbering order equals the order in which they were opened</td>
</tr>
<tr class="border">
<td class="border">TIMELock:REFerence <file number></td>
<td class="border">Sets the file number of the file that will act as the <a href="#Timelock">reference</a>, file number indicates which one of the opened files, must be in the range 1 - 32<br>
File numbering order equals the order in which they were opened</td>
</tr>
<tr class="border">
<td class="border">SYStem:ERRor?</td>
<td class="border">Queries the last entry in the error queue and deletes it, if there are no more errors in the queue, it returns 0</td>
</tr>
<tr class="border">
<td class="border">SYStem:LOCk?</td>
<td class="border">Returns 1 if the system is locked, otherwise 0</td>
</tr>
<tr class="border">
<td class="border">SYStem:LOCk <0|1></td>
<td class="border">If value is 1, the GUI (graphical user interface) will be locked, otherwise it will be unlocked<br>
If the GUI is locked, EDFbrowser will ignore all user input (mouse, keyboard)</td>
</tr>
</table>
</div>
<p><br></p>
<div>
<table class="border">
<tr class="border">
<th class="border" style="text-align:center;">Error</th>
<th class="border" style="text-align:center;">Description</th>
</tr>
<tr class="border">
<td class="border" style="text-align:center;">0</td>
<td class="border">There are no errors in the error queue</td>
</tr>
<tr class="border">
<td class="border">101</td>
<td class="border">Cannot open a second file</td>
</tr>
<tr class="border">
<td class="border">102</td>
<td class="border">Cannot open a second file</td>
</tr>
<tr class="border">
<td class="border">103</td>
<td class="border">Attempt to open too many files</td>
</tr>
<tr class="border">
<td class="border">104</td>
<td class="border">File has an unknown extension</td>
</tr>
<tr class="border">
<td class="border">105</td>
<td class="border">Cannot open file for reading</td>
</tr>
<tr class="border">
<td class="border">106</td>
<td class="border">File is not EDF or BDF compliant</td>
</tr>
<tr class="border">
<td class="border">107</td>
<td class="border">File is discontiguous (EDF+D or BDF+D)</td>
</tr>
<tr class="border">
<td class="border">108</td>
<td class="border">File has a formatting error</td>
</tr>
<tr class="border">
<td class="border">109</td>
<td class="border">Cannot open a streaming file when there's already a file open</td>
</tr>
<tr class="border">
<td class="border">201</td>
<td class="border">Command syntax error</td>
</tr>
<tr class="border">
<td class="border">202</td>
<td class="border">Unknown command received</td>
</tr>
<tr class="border">
<td class="border">203</td>
<td class="border">Invalid parameter received</td>
</tr>
<tr class="border">
<td class="border">204</td>
<td class="border">Missing parameter</td>
</tr>
<tr class="border">
<td class="border">205</td>
<td class="border">Operation not possible</td>
</tr>
<tr class="border">
<td class="border">206</td>
<td class="border">Malloc error</td>
</tr>
<tr class="border">
<td class="border">207</td>
<td class="border">Item not found</td>
</tr>
<tr class="border">
<td class="border">208</td>
<td class="border">Parameter value out of range</td>
</tr>
<tr class="border">
<td class="border">301</td>
<td class="border">Busy, try again later, use the command *OPC?<br>
to check if EDFbrowser has finished the operation</td>
</tr>
</table>
</div>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br></p>
<h3><a name="FAQ">FAQ</a></h3>
<div>
<ul>
<li><a href="#FAQ_1">How do I add signals to the screen?</a></li>
<li><a href="#FAQ_2">How can I change the sensitivity or amplitude of a signal?</a></li>
<li><a href="#FAQ_3">How can I see the value of a signal?</a></li>
<li><a href="#FAQ_4">I added signals from multiple files but some of them are not visible on the screen.</a></li>
<li><a href="#FAQ_5">I want to open two files in different windows.</a></li>
<li><a href="#FAQ_6">When I try to open a file, it says that the file is not EDF(+)/BDF(+) compliant.</a></li>
<li><a href="#FAQ_7">How can I combine multiple EDF/BDF files?</a></li>
<li><a href="#FAQ_8">What is the difference between EDF and BDF?</a></li>
<li><a href="#FAQ_9">When I print a file, the borders are cut away</a></li>
<li><a href="#FAQ_10">When I print to a PDF file, the traces look grey instead of black when I open the file<br>
in Adobe Reader 8.x.</a></li>
<li><a href="#FAQ_11">Why are the annotationmarkers not visible?</a></li>
<li><a href="#FAQ_12">The amplitude settings are not correct. For example, 100 uV/cm is 100 uV/1.5 cm.</a></li>
<li><a href="#FAQ_13">What are the system requirements?</a></li>
<li><a href="#FAQ_14">Which operatingsystems are supported?</a></li>
<li><a href="#FAQ_15">Which license is used for the program?</a></li>
<li><a href="#FAQ_16">I think I found a bug. Where do I report it?</a></li>
<li><a href="#FAQ_17">Why is EDFbrowser so strict about formatting and refuses to open files that are not completely EDF compliant?</a></li>
<li><a href="#FAQ_18">Why can't EDFbrowser accept extended-ASCII characters in the EDF header?</a></li>
</ul>
</div>
<p><br></p>
<p>
<a name="FAQ_1"></a>
Q. How do I add signals to the screen?<br>
<br>
A. Use the <a href="#Signaldialog">signalsdialog</a>.<br>
<br>
<br>
<a name="FAQ_2"></a>
Q. How can I change the amplitude of a signal?<br>
<br>
A. Leftclick on the signallabel of that signal. A small dialog will appear. There is a<br>
spinbox that will let you change the amplitude of the signal.<br>
Another way is to rightclick on the signallabel and move the mousepointer up or down<br>
while keeping the right mousebutton pressed. This will increase or decrease the amplitude<br>
of the signal on the screen.<br>
<br>
<a name="FAQ_3"></a>
Q. How can I see the value of a signal?<br>
<br>
A. Use a <a href="#Crosshairs">crosshair</a>.<br>
<br>
<br>
<a name="FAQ_4"></a>
Q. I added signals from multiple files but some of them are not visible on the screen.<br>
<br>
A. Go to the "Time" menu and set it to "Synchronize start of files".<br>
Then select Time -> Go to start of file.<br>
Now select Amplitude -> Fit to pane.<br>
<br>
<br>
<a name="FAQ_5"></a>
Q. I want to open two files in different windows.<br>
<br>
A. Start the program twice and you can open files in different windows.<br>
<br>
<br>
<a name="FAQ_6"></a>
Q. When I try to open a file, it says that the file is not EDF(+)/BDF(+) compliant.<br>
What do I do?<br>
<br>
A. Try to find out what program created that file. Write the maker/developer of that<br>
program and tell him/her that the program does not produce valid EDF(+)/BDF(+) files.<br>
Ask him/her to fix that program.<br>
If you get the message that a character in the header is not a valid ASCII-character,<br>
use the <a href="#Header_editor">header editor</a> to repair your file.
<br>
<br>
<a name="FAQ_7"></a>
Q. How can I combine multiple EDF/BDF files?<br>
<br>
A. Use the <a href="#Print_to_EDF">Print to EDF</a> function.<br>
<br>
<br>
<a name="FAQ_8"></a>
Q. What is the difference between EDF and BDF?<br>
<br>
A. The difference is the resolution. In EDF the maximum resolution is 16 bits, so the ratio<br>
between the smallest and the largest value is 1 to 2^16 or 1:65536.<br>
In BDF the resolution is 24 bits, so the ratio between the smallest and the largest value is<br>
1 to 2^24 or 1:16777216. In other words, the dynamic range of a BDF file is much higher.<br>
BDF is the 24-bits version of EDF, invented because more and more ADC's/acquisition systems use<br>
24-bits analoog to digital converters. When you try to store the data from a 24-bits ADC into EDF,<br>
you will lose information.<br>
<br>
<br>
<a name="FAQ_9"></a>
Q. When I print a file, the borders are cut away (the first characters of the signallabels are missing).<br>
<br>
A. In the printerdialog, choose "landscape" and the right papersize (A4) and<br>
adjust the margins in the printerproperties.<br>
For example, set top and bottom margins to 0.85 cm and the left and right margins to 1.27 cm.<br>
<br>
<br>
<a name="FAQ_10"></a>
Q. When I print to a PDF file, the traces look grey instead of black when I open the file<br>
in Adobe Reader 8.x.<br>
<br>
A. In Adobe Reader, go to Edit->Preferences->Page Display and uncheck "Smooth line art".<br>
<br>
<br>
<a name="FAQ_11"></a>
Q. Why are the annotationmarkers not visible?<br>
<br>
A. Go to the Settings menu. Check "Annotation marker" and make sure that it<br>
has a different color than the background color.<br>
<br>
<br>
<a name="FAQ_12"></a>
Q. The amplitude settings are not correct. For example, 100 uV/cm is 100 uV/1.5 cm.<br>
<br>
A. This can happen when the DPI-settings of the operatingsystem are wrong. For example,<br>
when EDFbrowser cannot read your monitorsettings or when the monitorsettings are wrong.<br>
You can solve this as follows. Go to the settingsmenu and open the Calibration tab and<br>
check the "Manually override automatic DPI settings" checkbox. Now measure the two black<br>
rectangles, enter the values and click on the apply button.<br>
<br>
<br>
<a name="FAQ_13"></a>
Q. What are the system requirements?<br>
<br>
A. There are no special requirements. However, the faster your CPU and the more memory,<br>
the faster you can navigate. For example, a large pagetime (five minutes or more) will make<br>
the responsetime of the program longer, specially when you add a lot of signals and/or<br>
when the signals have a high samplerate.<br>
When you open a file with a size of hundred megabytes and you choose to make the whole<br>
recording visible on the screen, the program will load the whole file (hundred megabytes)<br>
into memory (RAM).<br>
<br>
<br>
<a name="FAQ_14"></a>
Q. Which operatingsystems are supported?<br>
<br>
A. Linux and windows 2000/XP/Vista/7/8/10. The Mac is not supported but some people reported that<br>
they have successfully compiled it from source on a Mac.<br>
<br>
<br>
<a name="FAQ_15"></a>
Q. Which license is used for the program?<br>
<br>
A. The GNU General Public License version 3. For more info go to Help -> About EDFbrowser.<br>
<br>
<br>
<a name="FAQ_16"></a>
Q. I think I found a bug. Where do I report it?<br>
<br>
A. First check if you are using the latest version of EDFbrowser.<br>
If the bug persists, send an email to <a href="mailto:teuniz@protonmail.com">teuniz@protonmail.com</a><br>
<br>
<br>
<a name="FAQ_17"></a>
Q. Why is EDFbrowser so strict about formatting and refuses to open files that are not completely EDF compliant?<br>
<br>
A. EDFbrowser has a zero-tolerance policy regarding non-compliant files. This is done in order to make people aware of it and<br>
to push them to contact the producer of the software that created the non-compliant file and file a bugreport there.<br>
It's the opinion of the author of EDFbrowser that problems with non-compliant files should be solved at the producer,<br>
not at the viewer.<br>
In practice, if EDFbrowser should allow minor formatting errors, nobody will file a bugreport because of reasons like:<br>
"Yes, I'll file a bug report later when I have time..."<br>
"Why should I file a bugreport if there's already a solution at hand? Time is money!"<br>
<br>
EDFbrowser offers a tool that can repair minor errors in non-compliant files: the <a href="#Header_editor">header editor</a>.<br>
Simply open the file in the <a href="#Header_editor">header editor</a> and press "Save". That's all.<br>
In case you have a whole bunch of non-compliant files, you can use this script: <a href="https://www.teuniz.net/edf-hdr-repair/">https://www.teuniz.net/edf-hdr-repair/</a><br>
Direct your complains to the producer of your non-compliant files.<br>
<br>
<br>
<a name="FAQ_18"></a>
Q. Why can't EDFbrowser accept extended-ASCII characters in the EDF header?<br>
<br>
A. Officially, there doesn't exist a so-called "extended" ASCII set. The ASCII character set is a 7-bit only character set and<br>
and does not have any characters like for example with accents.<br>
Unofficially, there exists many extended character sets. So, which one should be chosen? And why that particular one and not another one?<br>
Also, there's no method in EDF to indicate which extended ASCII set is in use. So, a character that looks fine when opened using a computer<br>
with a certain country setting (localization setting), can look wrong when opened using a computer with a different country setting.<br>
There's no way to guarantee that the information is correct when using extended ASCII.<br>
</p>
<p><br></p>
<p><a href="#Table_of_Contents">Table of Contents</a></p>
<p><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
</body>
</html>
|