diff --git a/README.rst b/README.rst index e1d4f21..6a8e6a1 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -|neurotic logo| neurotic: NEUROscience Tool for Interactive Characterization -============================================================================ +|neurotic logo| *neurotic*: NEUROscience Tool for Interactive Characterization +============================================================================== *Curate, visualize, annotate, and share your behavioral ephys data using Python* @@ -7,7 +7,7 @@ Documentation_ | `Release Notes`_ | `Issue Tracker`_ -**neurotic** is an app for Windows, macOS, and Linux that allows you to easily +*neurotic* is 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 your Neo_-compatible data (see neo.io_ for file formats) into ephyviewer_ without doing any programming. Share a single @@ -53,7 +53,7 @@ To use the app, first organize your datasets in a *metadata file* like this another dataset: # etc -Open your metadata file in **neurotic** and choose a dataset. If the data and +Open your metadata file in *neurotic* and 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. Finally, click launch and the app will use a standard viewer layout to display your data to you using @@ -66,7 +66,7 @@ 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 by* **neurotic** *using customizable parameters.* +were detected by* neurotic *using customizable parameters.* The viewers are easy and intuitive to navigate (see `User Interface`_): @@ -90,16 +90,16 @@ video synchronization feature! along with a remotely accessible data store such as GIN_ 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 and **neurotic** will prompt you for a -user name and password. This makes it easy to share the **neurotic** experience -with your colleagues! 🤪 +Data stores can be password protected and *neurotic* will prompt you for a user +name and password. This makes it easy to share the *neurotic* experience with +your colleagues! 🤪 -Installing neurotic -------------------- +Installing *neurotic* +--------------------- -**neurotic** requires Python 3.6 or later. +*neurotic* requires Python 3.6 or later. -Note that the latest release of one of **neurotic**'s dependencies, pyqtgraph +Note that the latest release of one of *neurotic*'s dependencies, pyqtgraph 0.10.0, is incompatible with Python 3.8 or later on Windows unless that dependency is installed via conda-forge (recommended method) (`details `_). @@ -107,18 +107,18 @@ dependency is installed via conda-forge (recommended method) (`details Standalone Installers (recommended for beginners) ................................................. -Downloadable installers make installing **neurotic** easy for beginners. They -can be downloaded from the GitHub Releases page: +Downloadable installers make installing *neurotic* easy for beginners. They can +be downloaded from the GitHub Releases page: `👉 Download installers here (listed under "Assets") 👈`__ __ `GitHub Releases`_ These installers are intended for users who do not want to independently -install Python or conda just to use **neurotic**. They will install -**neurotic** and 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. +install Python or conda just to use *neurotic*. They will install *neurotic* +and 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 using `conda constructor`_ is maintained here: `constructor recipe`_. @@ -126,7 +126,7 @@ is maintained here: `constructor recipe`_. Alternate Method: conda (recommended for Pythonistas) ..................................................... -conda_ users can install **neurotic** and all of its dependencies with one +conda_ users can install *neurotic* and all of its dependencies with one command:: conda install -c conda-forge neurotic @@ -136,22 +136,22 @@ On Windows, this will also create a Start Menu shortcut for launching the app. Alternate Method: pip ..................... -Install **neurotic** from PyPI_ using :: +Install *neurotic* from PyPI_ using :: pip install neurotic Note that installation via ``pip`` skips one dependency: PyAV_, which is -required for displaying videos, and without which **neurotic** will ignore +required for displaying videos, and without which *neurotic* will ignore videos. PyAV is not easily installed with ``pip`` on some systems, especially Windows. The easiest way to separately install PyAV is using conda_:: conda install -c conda-forge av -Updating neurotic ------------------ +Updating *neurotic* +------------------- -The recommended method of updating **neurotic** depends on the original method -of installation. +The recommended method of updating *neurotic* depends on the original method of +installation. If you are unsure what method you used, updating using ``conda`` or ``pip`` is likely to work. Standalone installers may be safe too, though this could lead @@ -160,7 +160,7 @@ to having multiple version installed simultaneously. Updating with Standalone Installers ................................... -If you previously installed **neurotic** using a standalone installer, you may +If you previously installed *neurotic* using 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: @@ -179,24 +179,24 @@ Terminal on macOS and Linux):: Updating with conda ................... -If you installed **neurotic** with `conda`_, you can update to the latest -release using :: +If you installed *neurotic* with `conda`_, you can update to the latest release +using :: conda update -c conda-forge neurotic Updating with pip ................. -If you installed **neurotic** using ``pip``, you can update to the latest -release available on PyPI_ using :: +If you installed *neurotic* using ``pip``, you can update to the latest release +available on PyPI_ using :: pip install -U neurotic Development Version ................... -If you are interested in trying new, unreleased features of **neurotic**, you -may install the latest development version from GitHub_ using :: +If you are interested in trying new, unreleased features of *neurotic*, you may +install the latest development version from GitHub_ using :: pip install -U git+https://github.com/jpgill86/neurotic.git @@ -208,7 +208,7 @@ development version of ephyviewer_, which you can get using :: Getting Started --------------- -If you installed **neurotic** into a conda environment, first activate it:: +If you installed *neurotic* into a conda environment, first activate it:: conda activate @@ -227,7 +227,7 @@ it, click "Edit metadata". See `Configuring Metadata`_ for details about the format. If you prefer Jupyter notebooks, you can launch an example notebook instead, -which includes a tutorial for using **neurotic**'s API:: +which includes a tutorial for using *neurotic*'s API:: neurotic --launch-example-notebook @@ -272,10 +272,10 @@ The command line interface accepts other arguments too: starting the standalone app (other args will be ignored) -Citing neurotic ---------------- +Citing *neurotic* +----------------- -To cite **neurotic** in your publication, please refer to: +To cite *neurotic* in 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, diff --git a/docs/api.rst b/docs/api.rst index 8948cd4..2fe60ed 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -3,12 +3,12 @@ API Reference Guide =================== -In addition to using **neurotic** as a standalone app, you can also leverage -its API in your own code. +In addition to using *neurotic* as a standalone app, you can also leverage its +API in your own code. .. note:: - **TL;DR**: The easiest way to use **neurotic** in an interactive session or + **TL;DR**: The easiest way to use *neurotic* in an interactive session or script is by invoking :func:`neurotic.quick_launch() `. For example: diff --git a/docs/citations.rst b/docs/citations.rst index 2b9638b..614a2cb 100644 --- a/docs/citations.rst +++ b/docs/citations.rst @@ -1,9 +1,9 @@ .. _citations: -Citing neurotic -=============== +Citing *neurotic* +================= -To cite **neurotic** in your publication, please refer to: +To cite *neurotic* in 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, diff --git a/docs/examples.rst b/docs/examples.rst index 46a72c0..301ff5f 100644 --- a/docs/examples.rst +++ b/docs/examples.rst @@ -5,10 +5,10 @@ Metadata Examples Below, the contents of a fully functioning example metadata file are shown, which contains metadata for several example datasets. This file is included -with each installation of **neurotic** and is loaded automatically when -**neurotic** first starts. +with each installation of *neurotic* and is loaded automatically when +*neurotic* first starts. -With this metadata file loaded in **neurotic**, you may use the "Download data" +With this metadata file loaded in *neurotic*, you may use the "Download data" feature to fetch the data files and run the examples, and you may try the "Edit metadata" feature to test modifications (remember to "Reload metadata" after saving changes). diff --git a/docs/gettingstarted.rst b/docs/gettingstarted.rst index 35cee3f..9f662d9 100644 --- a/docs/gettingstarted.rst +++ b/docs/gettingstarted.rst @@ -3,7 +3,7 @@ Getting Started =============== -If you installed **neurotic** into a conda environment, first activate it:: +If you installed *neurotic* into a conda environment, first activate it:: conda activate @@ -22,7 +22,7 @@ it, click "Edit metadata". See :ref:`config-metadata` for details about the format. If you prefer Jupyter notebooks, you can launch an example notebook instead, -which includes a tutorial for using **neurotic**'s API:: +which includes a tutorial for using *neurotic*'s API:: neurotic --launch-example-notebook diff --git a/docs/index.rst b/docs/index.rst index 74c64e8..bf69ec9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ -neurotic: NEUROscience Tool for Interactive Characterization -============================================================ +*neurotic*: NEUROscience Tool for Interactive Characterization +============================================================== *Curate, visualize, annotate, and share your behavioral ephys data using Python* @@ -7,7 +7,7 @@ neurotic: NEUROscience Tool for Interactive Characterization **Version:** |version| (`other versions`_) -**neurotic** is an app for Windows, macOS, and Linux that allows you to easily +*neurotic* is 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 your Neo_-compatible data (see :mod:`neo.io` for file formats) into ephyviewer_ without doing any programming. Share a diff --git a/docs/install.rst b/docs/install.rst index 327047c..66066ec 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -1,11 +1,11 @@ .. _installation: -Installing neurotic -=================== +Installing *neurotic* +===================== -**neurotic** requires Python 3.6 or later. +*neurotic* requires Python 3.6 or later. -Note that the latest release of one of **neurotic**'s dependencies, pyqtgraph +Note that the latest release of one of *neurotic*'s dependencies, pyqtgraph 0.10.0, is incompatible with Python 3.8 or later on Windows unless that dependency is installed via conda-forge (recommended method) (:issue:`details <129>`). @@ -15,18 +15,18 @@ dependency is installed via conda-forge (recommended method) (:issue:`details Standalone Installers (recommended for beginners) ------------------------------------------------- -Downloadable installers make installing **neurotic** easy for beginners. They -can be downloaded from the GitHub Releases page: +Downloadable installers make installing *neurotic* easy for beginners. They can +be downloaded from the GitHub Releases page: `👉 Download installers here (listed under "Assets") 👈`__ __ `GitHub Releases`_ These installers are intended for users who do not want to independently -install Python or conda just to use **neurotic**. They will install -**neurotic** and 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. +install Python or conda just to use *neurotic*. They will install *neurotic* +and 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 using `conda constructor`_ is maintained here: `constructor recipe`_. @@ -36,7 +36,7 @@ is maintained here: `constructor recipe`_. Alternate Method: conda (recommended for Pythonistas) ----------------------------------------------------- -conda_ users can install **neurotic** and all of its dependencies with one +conda_ users can install *neurotic* and all of its dependencies with one command:: conda install -c conda-forge neurotic @@ -48,12 +48,12 @@ On Windows, this will also create a Start Menu shortcut for launching the app. Alternate Method: pip --------------------- -Install **neurotic** from PyPI_ using :: +Install *neurotic* from PyPI_ using :: pip install neurotic Note that installation via ``pip`` skips one dependency: PyAV_, which is -required for displaying videos, and without which **neurotic** will ignore +required for displaying videos, and without which *neurotic* will ignore videos. PyAV is not easily installed with ``pip`` on some systems, especially Windows. The easiest way to separately install PyAV is using conda_:: diff --git a/docs/metadata.rst b/docs/metadata.rst index b81a10c..f9b2449 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -3,7 +3,7 @@ Configuring Metadata ==================== -To load your data with **neurotic**, you must organize them in one or more YAML +To load your data with *neurotic*, you must organize them in one or more YAML files, called *metadata files*. YAML files are very sensitive to punctuation and indentation, so mind those @@ -21,7 +21,7 @@ Top-Level Organization Datasets listed within the same metadata file must be given unique names, which may include spaces. The special name ``neurotic_config`` is reserved for -**neurotic** configuration settings and cannot be used for datasets. +*neurotic* configuration settings and cannot be used for datasets. In addition to names, a long description can be provided for each dataset. @@ -86,13 +86,13 @@ The ``tridesclous_file`` is described in more detail in Remote Data Available for Download ---------------------------------- -Data files must be stored on the local computer for **neurotic** to load them -and display their contents. If the files are available for download from a -remote server, **neurotic** can be configured to download them for you to the -local directory specified by ``data_dir`` if the files aren't there already. +Data files must be stored on the local computer for *neurotic* to load them and +display their contents. If the files are available for download from a remote +server, *neurotic* can be configured to download them for you to the local +directory specified by ``data_dir`` if the files aren't there already. Specify the URL to the directory containing the data on the remote server using -``remote_data_dir``. **neurotic** expects the local ``data_dir`` and the +``remote_data_dir``. *neurotic* expects the local ``data_dir`` and the ``remote_data_dir`` to have the same structure and will mirror the ``remote_data_dir`` in the local ``data_dir`` when you download data (not a complete mirror, just the specified files). @@ -168,9 +168,9 @@ to the metadata file. In the example above, if the metadata file is located in metadata file fully portable. The example above is a simple model of this style. A metadata file like this can be copied to a different computer, and downloaded files will automatically be saved to the right place. Data - stores can be password protected and **neurotic** will prompt you for a - user name and password. This makes it easy to share the **neurotic** - experience with your colleagues! 🤪 + stores can be password protected and *neurotic* will prompt you for a user + name and password. This makes it easy to share the *neurotic* experience + with your colleagues! 🤪 .. _gin-urls: @@ -204,8 +204,8 @@ nested beneath ``neurotic_config``. Key Description ====================== ======================================================== ``neurotic_version`` A `version specification`_ stating the version of - **neurotic** required by the metadata. Presently, if - the requirement is not met, only a warning is issued. + *neurotic* required by the metadata. Presently, if the + requirement is not met, only a warning is issued. Quotation marks around the spec are usually required. ``remote_data_root`` A URL prepended to each ``remote_data_dir`` that is not already a full URL (i.e., does not already begin with a @@ -232,9 +232,9 @@ The electrophysiology file specified by ``data_file`` is read using Neo_, which supports many file types. A complete list of the implemented formats can be found here: :mod:`neo.io`. -By default, **neurotic** will use the file extension of ``data_file`` to guess +By default, *neurotic* will use the file extension of ``data_file`` to guess the file format and choose the appropriate Neo IO class for reading it. If the -guess fails, you can force **neurotic** to use a different class by specifying +guess fails, you can force *neurotic* to use a different class by specifying the class name with the ``io_class`` parameter (all available classes are listed here: :mod:`neo.io`). @@ -277,7 +277,7 @@ negative value for ``video_offset`` equal to the delay in seconds. If video capture began after the start of data acquisition, use a positive value. A value of zero will have no effect. -**neurotic** warns users about the risk of async if ``video_file`` is given but +*neurotic* warns users about the risk of async if ``video_file`` is given but ``video_offset`` is not. To eliminate this warning for videos that have no delay, provide zero. @@ -334,9 +334,9 @@ These values could correct for three 10-second pauses occurring at times 1:00, 3:20 according to the video. The extra video frames captured during the pauses will be excised from playback so that the data and video remain synced. -**neurotic** will automatically suggest values for ``video_jumps`` if it reads -an AxoGraph file that contains stops and restarts (only if ``video_jumps`` is -not already specified). +*neurotic* will automatically suggest values for ``video_jumps`` if it reads an +AxoGraph file that contains stops and restarts (only if ``video_jumps`` is not +already specified). .. _config-metadata-datetime: @@ -346,7 +346,7 @@ Real-World Date and Time The GUI can optionally display the real-world date and time. This feature is accurate only if the recording is continuous (no interruptions or pauses during recording) and the start time of the recording is known. Some data file formats -may store the start time of the recording, in which case **neurotic** will use +may store the start time of the recording, in which case *neurotic* will use that information automatically. However, if the start time is missing or inaccurate, it can be specified in the metadata like this: @@ -485,9 +485,9 @@ Amplitude Discriminators ------------------------ Spikes with peaks that fall within amplitude windows given by -``amplitude_discriminators`` can be automatically detected by **neurotic** on -the basis of amplitude alone. Note that amplitude discriminators are only -applied if fast loading is off (``lazy=False``). +``amplitude_discriminators`` can be automatically detected by *neurotic* on the +basis of amplitude alone. Note that amplitude discriminators are only applied +if fast loading is off (``lazy=False``). Detected spikes are indicated on the signals with markers, and spike trains are displayed in a raster plot. Optionally, a color may be specified for an @@ -631,7 +631,7 @@ train. The metadata is specified like this: The elephant_ package's :func:`instantaneous_rate ` function is used for calculating firing rates. See :mod:`elephant.kernels` for the names of kernel classes that -may be used with the ``kernel`` parameter. **neurotic** provides an additional +may be used with the ``kernel`` parameter. *neurotic* provides an additional kernel, :class:`CausalAlphaKernel `, which may also be used. The ``sigma`` parameter is passed as an argument to the kernel class and should be diff --git a/docs/overview.rst b/docs/overview.rst index b040fe8..eef74b3 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -3,8 +3,8 @@ Overview ======== -To use **neurotic**, first organize your datasets in a *metadata file* like -this (see :ref:`config-metadata`): +To use *neurotic*, first organize your datasets in a *metadata file* like this +(see :ref:`config-metadata`): .. code-block:: yaml @@ -42,7 +42,7 @@ this (see :ref:`config-metadata`): another dataset: # etc -Open your metadata file in **neurotic** and choose a dataset. If the data and +Open your metadata file in *neurotic* and 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. Finally, click launch and the app will use a standard viewer layout to display your data to you using @@ -55,7 +55,7 @@ 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 by* **neurotic** *using customizable parameters.* +were detected by* neurotic *using customizable parameters.* The viewers are easy and intuitive to navigate (see `User Interface`_): @@ -79,9 +79,9 @@ video synchronization feature! along with a remotely accessible data store such as GIN_ 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 and **neurotic** will prompt you for a -user name and password. This makes it easy to share the **neurotic** experience -with your colleagues! 🤪 +Data stores can be password protected and *neurotic* will prompt you for a user +name and password. This makes it easy to share the *neurotic* experience with +your colleagues! 🤪 .. |Example screenshot| image:: _static/example-screenshot.png diff --git a/docs/releases/1.2.0.rst b/docs/releases/1.2.0.rst index da83de1..67297dd 100644 --- a/docs/releases/1.2.0.rst +++ b/docs/releases/1.2.0.rst @@ -5,11 +5,11 @@ neurotic 1.2.0 2019-12-06 -**neurotic** should now have broader compatibility with file types supported by +*neurotic* should now have broader compatibility with file types supported by Neo's :mod:`neo.io` classes thanks to two new metadata parameters: ``io_class`` and ``io_args``. See :ref:`config-metadata-neo-io` for details. -**neurotic** is now available on conda-forge! See :ref:`installation-conda` for +*neurotic* is now available on conda-forge! See :ref:`installation-conda` for details on how to install. Improvements diff --git a/docs/releases/1.4.0.rst b/docs/releases/1.4.0.rst index efe75dc..b3d12b0 100644 --- a/docs/releases/1.4.0.rst +++ b/docs/releases/1.4.0.rst @@ -54,7 +54,7 @@ Help & feedback * Add Help menu actions for opening common URLs (:pr:`198`, :pr:`230`) -* Add Python version and **neurotic** install path to About window +* Add Python version and *neurotic* install path to About window (:pr:`181`) * Display common error messages to status bar in standalone app @@ -72,7 +72,7 @@ here Latest version: {latest}

-

How do I update neurotic?

+

How do I update neurotic?

""" else: text = f""" @@ -504,7 +504,7 @@ def show_check_for_updates(self):

Check for latest version manually

-

How do I update neurotic?

+

How do I update neurotic?

""" title = 'Check for updates' @@ -533,7 +533,7 @@ def show_about(self): urls['PyPI'] = 'https://pypi.org/project/neurotic' text = f""" -

neurotic {__version__}

+

neurotic {__version__}

NEUROscience Tool for Interactive Characterization

diff --git a/neurotic/scripts.py b/neurotic/scripts.py index 774b072..8069911 100644 --- a/neurotic/scripts.py +++ b/neurotic/scripts.py @@ -148,7 +148,7 @@ def quick_launch(metadata={}, blk=None, lazy=True): Load data, configure the GUI, and launch the app with one convenient function. - This function allows **neurotic** to be used easily in interactive sessions + This function allows *neurotic* to be used easily in interactive sessions and scripts. For example, dictionaries can be passed as metadata: >>> metadata = {'data_file': 'data.axgx'}