• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

autom4te.cache/H13-Aug-2021-18,04916,312

biosig4c++/H03-May-2022-121,73990,221

biosig4matlab/H13-Aug-2021-78,22168,336

tools/H13-Aug-2021-9649

.gitignoreH A D13-Aug-2021850 5252

CITATIONH A D13-Aug-2021656 2111

COPYINGH A D13-Aug-202134.3 KiB675553

INSTALLH A D13-Aug-202115.4 KiB369287

MakefileH A D13-Aug-20214.8 KiB181131

Makefile.inH A D13-Aug-20214.8 KiB181131

READMEH A D13-Aug-20218 KiB211161

config.guessH A D13-Aug-202143.3 KiB1,4771,283

config.hH A D13-Aug-202111 KiB38095

config.h.inH A D13-Aug-202110.5 KiB379267

config.statusH A D13-Aug-202131.4 KiB1,133930

config.subH A D13-Aug-202135.7 KiB1,8371,699

configureH A D13-Aug-2021232 KiB8,4717,136

configure.acH A D13-Aug-20215.3 KiB136119

install-shH A D13-Aug-202114.8 KiB509329

README

1Introduction:
2=============
3
4The aim of this repository is providing a software library for biomedical signal processing.
5Biosig consists of the following parts:
6(1) "Biosig for Octave and Matlab" and
7(2) "Biosig for C/C++" provides libbiosig, and several command line tools
8(3)  binding of libbiosig to the following programming languages:
9      Python, Mathematica, Matlab/Octave, Java, and R.
10
11== Installation ==
12
13The build and installation is quite flexible, and will adapt to your configuration. If numpy/libpython-dev
14is available, the biosig language binding for python will be installed. The same is try
15for Octave, Matlab, Mathematica, R, and Java.
16
17--- Recommended packages at compile time ---
18
19   apt-get install \
20	gawk \
21	libb64-dev tinyxml-dev libdcmtk-dev \
22	liboctave-dev octave \
23	python-numpy python3-numpy \
24	python-setuptools python3-setuptools \
25	libpython-dev libpython3-dev \
26	R texlive-fonts-extra \
27	default-jdk
28
29--- Recommended packages at runtime ---
30   apt-get install \
31	libb64 tinyxml libdcmtk14 \
32	python-numpy python3-numpy \
33	R default-jre \
34	octave octave-tsa octave-nan octave-signal octave-statistics
35
36
37Installing Biosig from source is as simple as
38   ./configure
39   make
40   sudo make install
41
42This should install libbiosig and als biosig command line tools like
43
44    save2gdf
45    biosig_fhir
46    physicalunits
47
48Depending on your software configuration, also language bindings to
49   Matlab, Octave, Python, Java, R, Mathematica
50might be installed. If you have python/numpy/libpython-dev installed, also biosig for python will be installed.
51If you have Octave/liboctave-dev installed, also mexbiosig will be installed in octave.
52
53However there are some known (and probably also unknown) limitations. Known limitations are
54- Java language binding does not compile on MacOSX
55- Cross compilation for Windows does not work (except for Matlab and Mathematica language bindings)
56
57
58
59
60BioSig4C++ provides several tools:
61
62(1) = LIBRARIES =
63(1a) "libbiosig" provides a library for accessing different dataformats.
64The supported data formats are listed here:
65   http://pub.ist.ac.at/~schloegl/biosig/TESTED
66(1b) "libgdf" is a lightweight version of libbiosig, supporting only the GDF format.
67it requires only GCC not G++ for linking, has potentially much less security loopholes (XML) and bugs,
68and a much smaller memory footprint, which might be especially useful for embedded devices.
69It's interface is the same than for libbiosig, namely biosig.h
70(1c) "libphysicalunits" provides conversion tools for physical units from
71ascii text to 16bit integers according to ISO/IEEE 11073-10101:2004 Table A.6.3: Vital signs units of measurements
72text strings are cached for performance reasons, and can be used in a multi-threaded application.
73
74* Installation of official source release (for users):
75	download source release and run
76        see above
77
78
79* Installation from git repository (for developers, usually untested):
80  Requirement: gawk
81  ** Checkout code for the first time:
82
83	git clone https://git.code.sf.net/p/biosig/code biosig-code
84	cd biosig-code
85	autoconf 	# needed only the first time after checkout
86	./configure
87	make
88	sudo make install
89
90  ** next time just update latest changes
91
92	git pull
93	autoreconf -fi  # usually this can be omitted
94	./configure 	# usually this can be omitted
95	make
96	make install
97
98
99For doing some advanced (special) configurations, you can modify these flags in Makefile.in
100
101(2) = converter and tools =
102contains several tools for data conversion,
103	save2gdf: is a converter between different file formats, including but not limited to
104		SCP-ECG(EN1064), HL7aECG (FDA-XML), GDF, EDF, BDF, CWFB and others
105		save2gdf can be also used to upload or retrieve data
106		from a bscs server, and to display the header information
107		in ascii and in JSON format.
108	biosig2fhir: is a tool than converts biosig data into a hl7/fhir binary template,
109		the header information is encoded in JSON format, the data is converted
110		into a base64-encoded GDF (OeNorm K2202:2015) formatted file.
111	physicalunits:	is a tool to show the encoding of physical units according to ISO/IEEE 11073
112
113These can can be build with:
114   make tools
115
116
117(3) language bindings and foreign function interfaces:
118(3a) "mexSLOAD" is a MEX-interface for Octave and Matlab
119and is linked statically to libbiosig. It can be build with
120    make mex4o   # octave
121    make mex4m   # matlab
122for details see mex/README.
123
124(3b) "python" is an interface to python and dynamically linked to libbiosig.
125Requirement: python, python-dev, python-numpy
126for Debian/Ubuntu:
127	sudo apt-get install python  python-dev  python-numpy  python-setuptools
128	sudo apt-get install python3 python3-dev python3-numpy python3-setuptools
129It can be build with any of the following commands:
130	make python
131	make -C biosig4c++/python build
132	make -C biosig4c++/python release
133For installation, you can than do either
134	cd biosig4c++/python && python setup.py install
135	cd biosig4c++/python && python3 setup.py install
136or
137	python  -m pip install python/dist/Biosig-2.1.1.tar.gz
138	python3 -m pip install python/dist/Biosig-2.1.1.tar.gz
139Use of the interface is shown in ./python/demo2.py
140
141
142(3c) mathematica
143is linked dynamically to libbiosig and can be build with:
144	make mma
145see also biosig4c++/mma/README, and biosig4c++/mma/biosig, biosig4c++/mma/hdrinfo.nb, biosig4c++/mma/mySLOAD.nb for more details.
146
147(3z) other language interfaces
148Basic interfaces for R and Java are also available. For other languages
149(including PHP, Perl and TCL) are considered, but these still need to be implemented and tested.
150
151
152(5) Biosig tools for Matlab and Octave
153The easiest approach is to change into the directory
154    cd biosig4matlab
155and run "install" from within Matlab or Octave. This will set the path to the subdirectories.
156
157
158(6) Precompiled binaries for Win32 and Win64
159   biosig4c++/win##/save2gdf.exe  binary converter
160   biosig4c++/win##/libbiosig.{lib,dll}  static and dynamic library (requires zlib and libws2_32)
161   biosig4c++/mma/biosig.exe     Mathematica binding through Mathlink interface
162   biosig4c++/mex/mexSLOAD.mexw32   Mex-file for Win32/Matlab
163
164
165The internal data structure resemble the header structure similar to
166  https://sourceforge.net/p/biosig/code/ci/master/tree/biosig4matlab/doc/header.txt
167and is defined in
168  https://sourceforge.net/p/biosig/code/ci/master/tree/biosig4c++/biosig-dev.h
169(see HDRTYPE and CHANNEL_TYPE)
170
171Encoding of Event/Markers/Annotations is available here:
172  http://pub.ist.ac.at/~schloegl/matlab/eeg/EventCodes.html
173
174The latest list of supported data formats is available here:
175  http://pub.ist.ac.at/~schloegl/biosig/TESTED
176
177
178File(s):
179-------------
180    README 	this file
181    biosig.h	definition of external biosig interface
182    biosig-dev.h definition of internal functions
183    biosig.c	SOPEN, SREAD, SWRITE, SEOF, SCLOSE functions
184    save2gdf.c	converter between various file formats.
185    physicalunit.c         en-/decodes physical units according to ISO/DIS 11073-10101:2003
186    mexSLOAD.cpp is a MEX-File for loading data in Octave and Matab.
187    t210/*	reading SCP,FAMOS file format
188    t220/*      writing SCP file format
189    t230/*      support of HL7aECG file format
190    t240/*	Support for CNSystems' File Exchange Format (CNS-FEF), note this is different to CENTS14271 in t241/
191    t241/*.asn1	ASN.1 specification of ISO11073-xxxxx and CENTS-14271 (FEF),
192    test0/*	scripts and functions for testing
193    Makefile	script for compiling and testing under GNU/Linux
194    Makefile.win32	script for compiling and testing on win32 using mingw
195    mex/*       Octave/Matlab binding through MEX-interface
196    mma/*	MathLink interface to mathematica
197    win32/*	library and executables for Windows
198    python/*.py show example and demo
199    src/*.c	applications: flowmon reads data from serial port, ttl2trig reads data from audio card
200
201
202More information is available at http://biosig.sf.net/
203
204If you have any questions you can also contact the mailinglist
205https://lists.sourceforge.net/lists/listinfo/biosig-general
206
207
208    Copyright (C) 2005-2020 Alois Schloegl <alois.schloegl@gmail.com>
209    This function is part of the BioSig repository at http://biosig.sf.net/
210
211