Package: neurotic
Curate, visualize, annotate, and share your behavioral ephys data using PythonDistributions:Source Code:Tests Status:Citing:Documentation|Release Notes|Issue Trackerneuroticis an app for Windows, macOS, and Linux that allows you to easily
review and annotate your electrophysiology data and simultaneously captured
video. It is an easy way to load yourNeo-compatible data (seeneo.iofor
file formats) intoephyviewerwithout doing any programming. Share a single
metadata file with your colleagues and they too will quickly be looking at the
same datasets!To use the app, first organize your datasets in ametadata filelike this
(seeConfiguring Metadata):my favorite dataset:description:This time it actually worked!data_dir:C:\local_dir_containing_filesremote_data_dir:http://myserver/remote_dir_containing_downloadable_files# optionaldata_file:data.axgxvideo_file:video.mp4# etcvideo_offset:-3.4# seconds between start of video and data acqepoch_encoder_possible_labels:-label01-label02plots:-channel:I2ylim:[-30,30]-channel:RNylim:[-60,60]# etcfilters:# used only if fast loading is off (lazy=False)-channel:Forcelowpass:50# etcamplitude_discriminators:# used only if fast loading is off (lazy=False)-name:B3 neuronchannel:BN2units:uVamplitude:[50,100]# etcanother dataset:# etcOpen your metadata file inneuroticand choose a dataset. If the data and
video files aren’t already on your local computer, the app can download them
for you, even from a password-protected server or from Google Drive. Finally,
click launch and the app will use a standard viewer layout to display your data
to you usingephyviewer.In the screenshot above, the video frame shows a voracious sea slug(Aplysia
californica)swallowing a strip of unbreakable seaweed attached to a force
transducer. Implanted electrodes recorded from a muscle and the major nerves
controlling feeding. The epoch encoder was used to mark the times when seaweed
moved into the mouth. Spikes corresponding to activity of identified neurons
were detected byneuroticusing customizable parameters.The viewers are easy and intuitive to navigate (seeUser Interface):Pressing the play button will scroll through your data and video in real
time, or at a higher or lower rate if the speed parameter is changed.The arrow/WASD keys allow you to step through time in variable increments.Jump to a time by clicking on an event in the event list or a table entry in
the epoch encoder.To show more or less time at once, right-click and drag right or left to
contract or expand time.Scroll the mouse wheel in the trace viewer or video viewer to zoom.The epoch encoder can be used to block out periods of time during which
something interesting is happening for later review or further analysis
(saved to a CSV file).All panels can be hidden, undocked, stacked, or repositioned on the fly.Electrophysiologists will find this tool useful even if they don’t need the
video synchronization feature!Portability is easy with neurotic!Use relative paths in your metadata file
along with a remotely accessible data store such asGINor a Shared Drive on
Google Drive to make your metadata file fully portable. The same metadata file
can be copied to a different computer, and downloaded files will automatically
be saved to the right place. Data stores can be password protected andneuroticwill prompt you for a user name and password. This makes it easy to
share theneuroticexperience with your colleagues! ðŸ¤ªInstallingneuroticneuroticrequires Python 3.6 or later.Standalone Installers (recommended for beginners)Downloadable installers make installingneuroticeasy for beginners. They can
be downloaded from the GitHub Releases page:ðŸ‘‰ Download installers here (listed under “Assets”) ðŸ‘ˆThese installers are intended for users who do not want to independently
install Python or conda just to useneurotic. They will installneuroticand everything it needs (including a fully contained Python environment) into a
dedicated directory on your computer. On Windows, the installer will also
create a Start Menu shortcut for launching the app.For developers, a recipe for building new installers usingconda constructoris maintained here:constructor recipe.Alternate Method: conda (recommended for Pythonistas)condausers can installneuroticand all of its dependencies with one
command:conda install -c conda-forge neuroticOn Windows, this will also create a Start Menu shortcut for launching the app.Alternate Method: pipInstallneuroticfromPyPIusingpip install neuroticNote that installation viapipskips one dependency:PyAV, which is
required for displaying videos, and without whichneuroticwill ignore
videos. PyAV is not easily installed withpipon some systems, especially
Windows. The easiest way to separately install PyAV is usingconda:conda install -c conda-forge avUpdatingneuroticThe recommended method of updatingneuroticdepends on the original method of
installation.If you are unsure what method you used, updating usingcondaorpipis
likely to work. Standalone installers may be safe too, though this could lead
to having multiple version installed simultaneously.Updating with Standalone InstallersIf you previously installedneuroticusing a standalone installer, you may
install a newer version using another installer, either into a different
directory or by first uninstalling the old version. Installers can be
downloaded from the GitHub Releases page:ðŸ‘‰ Download installers here (listed under “Assets”) ðŸ‘ˆAlternatively, if a new installer is not currently available for your platform,
or if you would just like a much faster method, you may use the command line
tools provided by the installer (via the “Anaconda Prompt” on Windows, or the
Terminal on macOS and Linux):conda update -c conda-forge neuroticUpdating with condaIf you installedneuroticwithconda, you can update to the latest release
usingconda update -c conda-forge neuroticUpdating with pipIf you installedneuroticusingpip, you can update to the latest release
available onPyPIusingpip install -U neuroticDevelopment VersionIf you are interested in trying new, unreleased features ofneurotic, you may
install the latest development version fromGitHubusingpip install -U git+https://github.com/jpgill86/neurotic.gitNote that if you install the development version, you may also need the latest
development version ofephyviewer, which you can get usingpip install -U git+https://github.com/NeuralEnsemble/ephyviewer.gitGetting StartedWindows users who installed using a standalone installer orcondashould be
able to launchneuroticfrom the Start Menu.Mac and Linux users, as well as Windows users, can use the Terminal, command
line, or Anaconda Prompt to start the app:Depending on your operating system, installation method, and environment
settings, you may be able to just launch the app from the command line by
invoking its name:neuroticIf the command is not recognized, you likely need to first activate the
conda environment into which the app was installed:conda activate <environment name>If you used a standalone installer, the environment name may be
“neurotic”, so you would useconda activate neuroticYou can then try again invoking the app name:neuroticSeveral examples are provided. Select one, download the associated data using
the “Download data” menu action, and then click “Launch”. SeeUser Interfacefor help with navigation.Disabling “Fast loading” before launch will enable additional features
including amplitude-threshold spike detection and signal filtering.To inspect the metadata file associated with the examples or to make changes to
it, click “Edit metadata”. SeeConfiguring Metadatafor details about the
format.If you like working with Jupyter notebooks, you can launch an example notebook
that includes a tutorial for usingneurotic’s API:neurotic --launch-example-notebookThe command line interface accepts other arguments too:usage: neurotic [-h] [-V] [--debug | --no-debug] [--lazy | --no-lazy]
                [--thick-traces | --no-thick-traces]
                [--show-datetime | --no-show-datetime]
                [--ui-scale {tiny,small,medium,large,huge}]
                [--theme {light,dark,original,printer-friendly}]
                [--use-factory-defaults] [--launch-example-notebook]
                [file] [dataset]

neurotic lets you curate, visualize, annotate, and share your behavioral ephys
data.

positional arguments:
  file                  the path to a metadata YAML file (default: an example
                        file)
  dataset               the name of a dataset in the metadata file to select
                        initially (default: the first entry in the metadata
                        file)

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  --debug               enable detailed log messages for debugging
  --no-debug            disable detailed log messages for debugging (default)
  --lazy                enable fast loading (default)
  --no-lazy             disable fast loading
  --thick-traces        enable support for traces with thick lines, which has
                        a performance cost
  --no-thick-traces     disable support for traces with thick lines (default)
  --show-datetime       display the real-world date and time, which may be
                        inaccurate depending on file type and acquisition
                        software
  --no-show-datetime    do not display the real-world date and time (default)
  --ui-scale {tiny,small,medium,large,huge}
                        the scale of user interface elements, such as text
                        (default: medium)
  --theme {light,dark,original,printer-friendly}
                        a color theme for the GUI (default: light)
  --use-factory-defaults
                        start with "factory default" settings, ignoring other
                        args and your global config file

alternative modes:
  --launch-example-notebook
                        launch Jupyter with an example notebook instead of
                        starting the standalone app (other args will be
                        ignored)

Defaults for arguments and options can be changed in a global config file,
.neurotic\neurotic-config.txt, located in your home directory.CitingneuroticTo citeneuroticin your publication, please refer to:Gill, J. P., Garcia, S., Ting, L. H., Wu, M., & Chiel, H. J. (2020).neurotic: Neuroscience Tool for Interactive Characterization. eNeuro,
7(3).https://doi.org/10.1523/ENEURO.0085-20.2020Specific versions of the software can be cited from archives atZenodo.DocumentationFor detailed information on configuring metadata, working examples, the API
reference guide, release notes, and more, see theDocumentation.