]> git.donarmstrong.com Git - neurodebian.git/blob - sphinx/blog/2012/2012-04-02_gnode_workshop.rst
G-Node blog post.
[neurodebian.git] / sphinx / blog / 2012 / 2012-04-02_gnode_workshop.rst
1 :date: 2012-04-02 00:00:00
2 :tags: G-Node, neuroscience, software, electrophysiology, neuroshare
3
4 .. _chap_gnode_packaging_workshop_2012:
5
6
7 Exciting new software for electrophysiology -- NeuroDebian@G-Node
8 =================================================================
9
10 Upon an invitation by `Thomas Wachtler`_, on Feb 28 2012 NeuroDebian visited
11 the German INCF_ node -- `G-Node`_ for a short workshop on Debian packaging.
12 G-Node drives a number of software projects primarily focused on
13 electrophysiology research -- ranging from server-side data storage to data
14 access and analysis tools for workstations.  None of those are part of
15 (Neuro)Debian yet, so all participants had high hopes to change this as soon as
16 possible.
17
18 During the workshop we looked into various projects and discussed how they
19 could be packaged for Debian. Fortunately, it turned out that the majority of
20 the necessary packaging work will be fairly straightforward and there are no
21 obvious show stoppers, such as licensing problems, that would prevent inclusion
22 into Debian in a rather near future. This is especially exciting as no less than
23 three key infrastructure problems of electrophysiology research, and
24 electrophysiology on Linux machines in particular will be tackled with the new
25 packages.
26
27
28 Access proprietary data formats
29 -------------------------------
30
31 Maybe one of the most pressing issues is data access. There are numerous
32 hardware vendors for data acquisition devices that all have their own
33 proprietary data formats. This is a serious obstacle when it comes to data
34 sharing efforts or collaborative work in general. To access such data, one
35 depends on the vendor to provide support for a particular computing
36 environment. However, not surprisingly this support is typically limited to the
37 Windows platform, or other commercial systems, such as Matlab.
38
39 For many years these hardware vendors could not agree on a common data format,
40 but instead came up with a standardized API to access vendor specific IO
41 libraries to ease the life of developers trying to add support for a data
42 format to their software. This standardization initiative is called
43 Neuroshare_.  Unfortunately, it does not address the core of the problem, as it
44 still requires the vendors-specific libraries implementing the Neuroshare-API
45 to access a proprietary data format -- and of course the vast majority of these
46 libraries is closed-source and Windows-only.
47
48 G-Node has developed a Wine_-base solution that behaves like a Neuroshare
49 library on the Linux platform and internally passes library calls on to one of
50 the vendor libraries. This nswineproxy_ can be used as a drop-in replacement
51 for any Neuroshare library and therefore allows for access to all
52 Neuroshare-compliant modules. While this solution admittedly lacks the
53 performance of a native implementation, it still makes a huge difference to be
54 able to access a particular data format at all, and is perfectly suitable for
55 one-time data conversion -- for example into the open HDF5 data format.
56
57 In addition to the Wine-proxy, G-Node also provides `python-neuroshare`_,
58 a Python package to access any Neuroshare-library.
59
60
61 Comprehensive data description and sharing
62 ------------------------------------------
63
64 Plain data access is not sufficient for collaborative work and data sharing.
65 In addition, it requires a comprehensive description of data, including
66 information on data origin, acquisition parameters, and applied processing.
67 G-Node offers several software packages that offer important functionality in
68 this regard. ODML_ is a markup language to create comprehensive meta
69 information for a particular dataset (Python and Java bindings are provided).
70 datajongleur_ is a Python package to create data views that combine plain data
71 with meta information, such as physical quantities, or more detailed meta data.
72 It allows injecting these enriched datasets in SQL databases for efficient
73 storage, querying, and retrieval. Finally, G-Node also develops a server-side
74 database solution that aids multi-site data-sharing efforts. Clients for
75 various environments, such as Matlab and Python are either being developed or
76 are already available.
77
78
79 Real-time data analysis
80 -----------------------
81
82 The third topic for software development at G-Node are closed-loop real-time
83 systems for online stimulus creation, data acquisition, and data analysis, such
84 as Relacs_. The upcoming Debian release (wheezy) will offer a Linux kernel with
85 real-time capabilities which should make it easier to offer out-of-the-box
86 solution for this type of research.
87
88 If you are interested in any of these software packages and would like to see
89 them integrated into the Debian system quickly, please do not hesitate to
90 :ref:`contact us <support>`, so we can coordinate the effort.
91
92 .. _Thomas Wachtler: http://neuro.bio.lmu.de/research_groups/res-wachtler_th/index.html
93 .. _INCF: http://www.incf.org/
94 .. _G-Node: http://www.g-node.org/
95
96 .. _Neuroshare: http://neuroshare.sourceforge.net
97 .. _nswineproxy: http://github.com/G-Node/nswineproxy
98 .. _python-neuroshare: http://github.com/G-Node/python-neuroshare
99 .. _ODML: http://www.g-node.org/projects/odml
100
101 .. _datajongleur: http://github.com/G-Node/Datajongleur
102 .. _Relacs: http://relacs.sourceforge.net/
103
104