NeuroAnalyzer tutorials: plugins

NeuroAnalyzer functionalities can be extended using plugins (extensions). Plugins are stored in the $HOME/NeuroAnalyzer/plugins folder. Each plugins must be located in its individual folder, inside the src subfolder. The structure of the plugins folder is:

$HOME/NeuroAnalyzer/
|- pipelines
|- plugins
   |- na_test_plugin
      |- src
         |- na_test_plugin.jl
   |- plugin_1
      |- src
         |- plugin1.jl
   |- plugin_2
      |- src
         |- plugin2.jl

To list all installed plugins:

using NeuroAnalyzer
na_plugins_list()
Available plugins:
1. na_test_plugin
2. plot_ENV.jl
3. plot_ISPC.jl
4. plot_ITPC.jl
5. plot_PLI.jl

To reload all installed plugins:

na_plugins_reload()
┌ Warning: Replacing docs for `NeuroAnalyzer.na_test_plugin :: Tuple{}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
[ Info:  Loaded: na_test_plugin.jl
[ Info:  Loaded: plot_env.jl
[ Info:  Loaded: plot_ispc.jl
[ Info:  Loaded: plot_itpc.jl
[ Info:  Loaded: plot_pli.jl
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_env :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_ispc :: Tuple{NeuroAnalyzer.NEURO, NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_itpc :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_itpc_s :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_itpc_f :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_pli :: Tuple{NeuroAnalyzer.NEURO, NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243

Plugins are installed from Git repositories. To install a new plugin:

url = "https://codeberg.org/AdamWysokinski/plot_ITPC.jl"
na_plugins_install(url)

Plugins may also be installed from local .ZIP/.TAR.GZ archives:

url = "plot_ITPC.jl_main.zip"
na_plugins_install(url)

(!) Installing from local archive requires unzip or tar.

(!) Files will be overwritten when installing from local archive.

To update plugins:

na_plugins_update()
[ Info: Updating: na_test_plugin
warning: redirecting to https://codeberg.org/AdamWysokinski/na_test_plugin/
Already up to date.
[ Info: Updating: plot_ENV.jl
Already up to date.
[ Info: Updating: plot_ISPC.jl
Already up to date.
[ Info: Updating: plot_ITPC.jl
Already up to date.
[ Info: Updating: plot_PLI.jl
Already up to date.
[ Info:  Loaded: na_test_plugin.jl
[ Info:  Loaded: plot_env.jl
[ Info:  Loaded: plot_ispc.jl
[ Info:  Loaded: plot_itpc.jl
[ Info:  Loaded: plot_pli.jl
┌ Warning: Replacing docs for `NeuroAnalyzer.na_test_plugin :: Tuple{}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_env :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_ispc :: Tuple{NeuroAnalyzer.NEURO, NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_itpc :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_itpc_s :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_itpc_f :: Tuple{NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243
┌ Warning: Replacing docs for `NeuroAnalyzer.plot_pli :: Tuple{NeuroAnalyzer.NEURO, NeuroAnalyzer.NEURO}` in module `NeuroAnalyzer`
└ @ Base.Docs docs/Docs.jl:243

Individual plugins may also be updated using:

na_plugins_update("plot_ITPC")