[Neurodebian-devel] Packaging EEGLAB

Phillip Alday phillip.alday at Staff.Uni-Marburg.DE
Mon Nov 10 11:48:53 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear all,

I'm (slowly) starting work on packaging a modern release of EEGLAB and
have put some thought into the best package architecture. Modern
EEGLAB uses plugins extensively and having packages for the plugins
avoids issues with MATLAB's path and write permissions. I was thinking
about modelling the structure roughly after Python's packaging,
something like:

eeglab (defaults to most recent eeglab)
eeglab13
eeglab12 (maybe)
eeglab11 (already there, so it would be nice to provide a clean
upgrade path)
eeglab-plugins-io (metapackage for the following IO plugins)

eeglab-plugins-biosig
eeglab-plugins-bva
eeglab-plugins-bdf
eeglab-plugins-bci2000
eeglab-plugins-mff
eeglab-plugins-erpss
eeglab-plugins-biopac
eeglab-plugins-ctf
eeglab-plugins-xdf
eeglab-plugins-instepascii
eeglab-plugins-neuroimaging4d
eeglab-plugins-nihonkoden
eeglab-plugins-procominfinity
eeglab-plugins-fileio
eeglab-plugins-anteep
eeglab-plugins-neurone
eeglab-plugins-cogniscan
eeglab-plugins-wearablesensing

eeglab-plugins-dataprocessing (metapackage for the following plugins)

eeglab-plugins-fieldtrip-lite
eeglab-plugins-cleanline
eeglab-plugins-sift
eeglab-plugins-aar
eeglab-plugins-loreta
eeglab-plugins-corrmap
eeglab-plugins-adjust
eeglab-plugins-eyesubtract
eeglab-plugins-cleanrawdata
eeglab-plugins-stdenvtopo
eeglab-plugins-mara
eeglab-plugins-iirfilt
eeglab-plugins-vised
eeglab-plugins-dipoledensity
eeglab-plugins-pact
eeglab-plugins-firfilt
eeglab-plugins-limo
eeglab-plugins-massunivariate
eeglab-plugins-rerp
eeglab-plugins-eyeeeg
eeglab-plugins-peakfit
eeglab-plugins-regica
eeglab-plugins-fmrib
eeglab-plugins-csp
eeglab-plugins-stdbackproj
eeglab-plugins-stderpcalc
eeglab-plugins-trimoutlier
eeglab-plugins-pvaftopo
eeglab-plugins-lr
eeglab-plugins-gevd
eeglab-plugins-bioelectromagnetism
eeglab-plugins-bergen
eeglab-plugins-ciac
eeglab-plugins-mutalinfoclustering

(The classification dataprocessing / IO for plugins follows the
classification used in EEGLAB's GUI.)

Two further useful plugins that are common but not yet listed via
EEGLAB's GUI are:

eeglab-plugins-erplab (or should this package be called simply
"erplab"? The modern versions are clearly inteded as EEGLAB plugins,
but the ERPLAB people want a separate registration and require a
citation of their Frontiers article as part of their license)

eeglab-plugins-amica (depends on AMICA)
amica (Adaptive Mixture ICA from Jason Palmer, capable of running as a
standalone program)

And a plugin that sadly never got the love it deserved:

eeglab-plugins-cudaica (This will probably exceed my current knowhow
and time constraints -- it requires the nVidia CUDA toolkit and
patching the EEGLAB sources. See http://liaa.dc.uba.ar/node/13 and
http://www.hindawi.com/journals/cin/2012/206972/)

EEGLAB "expects" that plugins are in the plugins folder, so a first,
obvious question is whether the eeglabX architecture will work well
with plugins. Any suggestions on this or general package schema? When
I need a break from writing my dissertation, I'll start packaging the
core and the plugins I use, and expand to other packages after I
submit. :-)

The ANT EEP plugin is built against libeep, and I saw recently on the
mailing list that somebody else is bundling libeep with their package.
If this is the same libeep, I would be willing on cooperating on
getting that bundled. Otherwise, I'll have to rename libeep to libanteep.

EEGLAB is GPL'd, but the license for many of the plugins is not
exactly clear beyond "free as in beer". What do I need to watch out
for here? AMICA is especially interesting because it includes binary
components with builds for various platforms but currently no source
distribution.

Cheers,
Phillip
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQEcBAEBAgAGBQJUYKYlAAoJEH6E4TigDpMcDkQIAOEo9+gKSPQVS4DlluICNyBP
i05eIMEPJBzncrQA5GAAdb8xiGnmTksUNZPHOM4e8v2q/ZKt0OGNuJw/95tHwUF+
f6cB6RFOye9GviJLgm/nBcJ5RHU50PNVi4WFm7b+lYQ3sP94/T3QF8OSdV3QWcDd
nIiMu3DzKcJVyZjT8GltMsfp4GnOx4EOrIXKwYryqyIYUCTT5WT0GOFpLo/rS6dJ
/07RzhVJX+upw5eY7ZLJHmwyfTj2LqtBT4u+X/NGgwBgPkOkUSlAokY3LaN3SXZF
Vcs+1rtuFp7mVuoTUQe7EkjdSWZmjeLrqfFf5SRD8QTogo/1ptmN3AQZ1RZoKFM=
=9IuX
-----END PGP SIGNATURE-----



More information about the Neurodebian-devel mailing list