%global _empty_manifest_terminate_build 0 Name: python-ABR Version: 0.0.7 Release: 1 Summary: Evoked potential analysis software License: BSD 3-Clause License Copyright (c) 2019, Brad Buran All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. URL: https://pypi.org/project/ABR/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d3/fd/4213e1575a5b0fe7fb1ca985c686e41bef75839f844bec2d90ea7378939f/ABR-0.0.7.tar.gz BuildArch: noarch Requires: python3-atom Requires: python3-enaml[qt5-pyqt] Requires: python3-numpy Requires: python3-scipy Requires: python3-pandas Requires: python3-matplotlib %description # ABR analysis This program facilitates the analysis of auditory evoked responses (tested with auditory brainstem responses and compound action potentials). You can visualize the waveform series collected during a single experiment, and identify the threshold and extract the amplitude and latency of each of the individual peaks in the waveform. The program works with the fillowing file formats: * ABR data generated by the Eaton Peabody Laboratories Cochlear Function Test Suite (EPL CFTS). * ABR data generated by [psiexperiment](https://github.com/psiexperiment/psiexperiment). * ABR data generated by the Intelligent Hearing Systems (IHS) text export. Individal research groups have also adapted the program to work with their own file formats. ## Installing The simplest way to get started is to download the [Anaconda Python Distribution](https://www.anaconda.com/distribution/). Once installed, you will have new programs available in your start menu. Open `Anaconda Prompt` and type `conda install -c bburan abr`. On windows, this will download the software and add a new shortcut to your start menu called `ABR analysis` which can be used to launch the program. This program also works on Mac OS and Linux, but I do not have specific instructions for getting started on these platforms yet. Please give me a nudge if you need help with this and I can help you get started. ## Programs available There are two main interfaces to the ABR analysis program. The first is the basic interface where you manually drag files from your file browser and drop them on the window. You can drag one file or multiple files. Each file will be opened in a separate tab. The second interface is an automatic one that will loop through all unprocessed ABR files found in a folder and present each file to you individually for analysis. Once you save the analysis, it will immediately move to the next file. Both interfaces are accessed via the launcher. When you first open the launcher, you will specify: * Your name (i.e., the "analyzer") * The file format. For many of you, you will pick the EPL CFTS unless you are using my software, [psiexperiment](https://github.com/bburan/psiexperiment) for data acquisition. * Which waves you want to analyze. If none are checked, we will assume that you only wish to mark threshold. * Filter settings to use. The original version of this program (distributed via the EPL website), filters waveforms using a 300 to 3000 Hz bandpass butterworth filter. ## Processing Each waveform is bandpass filtered using a butterworth filter (filter order and highpass and lowpass cutoffs are specified via command-line options). This filtering process removes the baseline shift as well as high-frequency noise that may interfere with the peak-finding algorithm. To prevent the waveform from being filtered, use the --nofilter option; however, be aware that this may degrade the efficacy of the automated peak. Important note: since the algorithm uses a forward and reverse filter (to minimize phase shift), the actual order is double the requested order. An initial estimate of P1-5 is computed and presented for correction. You may navigate through the waveform stack via the up/down arrows and select a point via the corresponding number (1-5). Once a point is selected (it will turn to a white square), you can move it along the waveform using the right/left arrow keys. Since the algorithm relies on the location of P1-5 to compute the best possible estimate of N1-5, you should correct the location of P1-5 before asking the algorithm to estimate N1-5. You may also specify threshold by navigating to the appropriate waveform (via the up/down arrows) and hitting the "t" key. ## Output format The amplitude and latency of each point are saved along with the threshold of the series. If the point is part of a subthreshold waveform, the additive inverse of the latency is saved (i.e. when parsing the file, subthreshold data can be recognized by negative latencies). Amplitudes from subthreshold points can be used to estimate the noise floor if desired. ## Interface The current waveform is displayed as a thick, black line. Once a threshold is specified, subthreshold waveforms are indicated by a dashed line. The selected point is indicated by a white square. Negativities are indicated by triangles, positivities as squares. Red is P1/N1, yellow is P2/N2, green is P3/N3, light blue is P4/N4, and dark blue is P5/N5. The following keys can be used when analyzing a waveform: Up/Down arrows Select previous/next waveform in the series Right/Left arrows Move a toggled peak left or right along the waveform. Movement of the peak will "snap" to estimated peaks in the waveform. To adjust the peak in fine increments, hold down the alt key simultaneously. Number keys 1-5 Select the corresponding peak on the current waveform. To select N1-5, hold down alt while pressing the corresponding number. I Estimates P1-5 for all waveforms on the first press. N1-5 for all waveforms on the second press. After that, nothing happens. U Updates guess for corresponding P or N of successive waveforms based on position of currently toggled P or N. N Toggles normalized view of waveform. +/- keys Increases/decreases scaling factor of waveform. S Saves amplitude and latency of peaks. T Set threshold to current waveform. Alt+Up Indicate that all waveforms are below threshold. Alt+Down Indicate that all waveforms are above threshold. Some keys will repeat if you hold down the key, which may be useful when navigating through the waveforms or adjusting the location of a peak. %package -n python3-ABR Summary: Evoked potential analysis software Provides: python-ABR BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-ABR # ABR analysis This program facilitates the analysis of auditory evoked responses (tested with auditory brainstem responses and compound action potentials). You can visualize the waveform series collected during a single experiment, and identify the threshold and extract the amplitude and latency of each of the individual peaks in the waveform. The program works with the fillowing file formats: * ABR data generated by the Eaton Peabody Laboratories Cochlear Function Test Suite (EPL CFTS). * ABR data generated by [psiexperiment](https://github.com/psiexperiment/psiexperiment). * ABR data generated by the Intelligent Hearing Systems (IHS) text export. Individal research groups have also adapted the program to work with their own file formats. ## Installing The simplest way to get started is to download the [Anaconda Python Distribution](https://www.anaconda.com/distribution/). Once installed, you will have new programs available in your start menu. Open `Anaconda Prompt` and type `conda install -c bburan abr`. On windows, this will download the software and add a new shortcut to your start menu called `ABR analysis` which can be used to launch the program. This program also works on Mac OS and Linux, but I do not have specific instructions for getting started on these platforms yet. Please give me a nudge if you need help with this and I can help you get started. ## Programs available There are two main interfaces to the ABR analysis program. The first is the basic interface where you manually drag files from your file browser and drop them on the window. You can drag one file or multiple files. Each file will be opened in a separate tab. The second interface is an automatic one that will loop through all unprocessed ABR files found in a folder and present each file to you individually for analysis. Once you save the analysis, it will immediately move to the next file. Both interfaces are accessed via the launcher. When you first open the launcher, you will specify: * Your name (i.e., the "analyzer") * The file format. For many of you, you will pick the EPL CFTS unless you are using my software, [psiexperiment](https://github.com/bburan/psiexperiment) for data acquisition. * Which waves you want to analyze. If none are checked, we will assume that you only wish to mark threshold. * Filter settings to use. The original version of this program (distributed via the EPL website), filters waveforms using a 300 to 3000 Hz bandpass butterworth filter. ## Processing Each waveform is bandpass filtered using a butterworth filter (filter order and highpass and lowpass cutoffs are specified via command-line options). This filtering process removes the baseline shift as well as high-frequency noise that may interfere with the peak-finding algorithm. To prevent the waveform from being filtered, use the --nofilter option; however, be aware that this may degrade the efficacy of the automated peak. Important note: since the algorithm uses a forward and reverse filter (to minimize phase shift), the actual order is double the requested order. An initial estimate of P1-5 is computed and presented for correction. You may navigate through the waveform stack via the up/down arrows and select a point via the corresponding number (1-5). Once a point is selected (it will turn to a white square), you can move it along the waveform using the right/left arrow keys. Since the algorithm relies on the location of P1-5 to compute the best possible estimate of N1-5, you should correct the location of P1-5 before asking the algorithm to estimate N1-5. You may also specify threshold by navigating to the appropriate waveform (via the up/down arrows) and hitting the "t" key. ## Output format The amplitude and latency of each point are saved along with the threshold of the series. If the point is part of a subthreshold waveform, the additive inverse of the latency is saved (i.e. when parsing the file, subthreshold data can be recognized by negative latencies). Amplitudes from subthreshold points can be used to estimate the noise floor if desired. ## Interface The current waveform is displayed as a thick, black line. Once a threshold is specified, subthreshold waveforms are indicated by a dashed line. The selected point is indicated by a white square. Negativities are indicated by triangles, positivities as squares. Red is P1/N1, yellow is P2/N2, green is P3/N3, light blue is P4/N4, and dark blue is P5/N5. The following keys can be used when analyzing a waveform: Up/Down arrows Select previous/next waveform in the series Right/Left arrows Move a toggled peak left or right along the waveform. Movement of the peak will "snap" to estimated peaks in the waveform. To adjust the peak in fine increments, hold down the alt key simultaneously. Number keys 1-5 Select the corresponding peak on the current waveform. To select N1-5, hold down alt while pressing the corresponding number. I Estimates P1-5 for all waveforms on the first press. N1-5 for all waveforms on the second press. After that, nothing happens. U Updates guess for corresponding P or N of successive waveforms based on position of currently toggled P or N. N Toggles normalized view of waveform. +/- keys Increases/decreases scaling factor of waveform. S Saves amplitude and latency of peaks. T Set threshold to current waveform. Alt+Up Indicate that all waveforms are below threshold. Alt+Down Indicate that all waveforms are above threshold. Some keys will repeat if you hold down the key, which may be useful when navigating through the waveforms or adjusting the location of a peak. %package help Summary: Development documents and examples for ABR Provides: python3-ABR-doc %description help # ABR analysis This program facilitates the analysis of auditory evoked responses (tested with auditory brainstem responses and compound action potentials). You can visualize the waveform series collected during a single experiment, and identify the threshold and extract the amplitude and latency of each of the individual peaks in the waveform. The program works with the fillowing file formats: * ABR data generated by the Eaton Peabody Laboratories Cochlear Function Test Suite (EPL CFTS). * ABR data generated by [psiexperiment](https://github.com/psiexperiment/psiexperiment). * ABR data generated by the Intelligent Hearing Systems (IHS) text export. Individal research groups have also adapted the program to work with their own file formats. ## Installing The simplest way to get started is to download the [Anaconda Python Distribution](https://www.anaconda.com/distribution/). Once installed, you will have new programs available in your start menu. Open `Anaconda Prompt` and type `conda install -c bburan abr`. On windows, this will download the software and add a new shortcut to your start menu called `ABR analysis` which can be used to launch the program. This program also works on Mac OS and Linux, but I do not have specific instructions for getting started on these platforms yet. Please give me a nudge if you need help with this and I can help you get started. ## Programs available There are two main interfaces to the ABR analysis program. The first is the basic interface where you manually drag files from your file browser and drop them on the window. You can drag one file or multiple files. Each file will be opened in a separate tab. The second interface is an automatic one that will loop through all unprocessed ABR files found in a folder and present each file to you individually for analysis. Once you save the analysis, it will immediately move to the next file. Both interfaces are accessed via the launcher. When you first open the launcher, you will specify: * Your name (i.e., the "analyzer") * The file format. For many of you, you will pick the EPL CFTS unless you are using my software, [psiexperiment](https://github.com/bburan/psiexperiment) for data acquisition. * Which waves you want to analyze. If none are checked, we will assume that you only wish to mark threshold. * Filter settings to use. The original version of this program (distributed via the EPL website), filters waveforms using a 300 to 3000 Hz bandpass butterworth filter. ## Processing Each waveform is bandpass filtered using a butterworth filter (filter order and highpass and lowpass cutoffs are specified via command-line options). This filtering process removes the baseline shift as well as high-frequency noise that may interfere with the peak-finding algorithm. To prevent the waveform from being filtered, use the --nofilter option; however, be aware that this may degrade the efficacy of the automated peak. Important note: since the algorithm uses a forward and reverse filter (to minimize phase shift), the actual order is double the requested order. An initial estimate of P1-5 is computed and presented for correction. You may navigate through the waveform stack via the up/down arrows and select a point via the corresponding number (1-5). Once a point is selected (it will turn to a white square), you can move it along the waveform using the right/left arrow keys. Since the algorithm relies on the location of P1-5 to compute the best possible estimate of N1-5, you should correct the location of P1-5 before asking the algorithm to estimate N1-5. You may also specify threshold by navigating to the appropriate waveform (via the up/down arrows) and hitting the "t" key. ## Output format The amplitude and latency of each point are saved along with the threshold of the series. If the point is part of a subthreshold waveform, the additive inverse of the latency is saved (i.e. when parsing the file, subthreshold data can be recognized by negative latencies). Amplitudes from subthreshold points can be used to estimate the noise floor if desired. ## Interface The current waveform is displayed as a thick, black line. Once a threshold is specified, subthreshold waveforms are indicated by a dashed line. The selected point is indicated by a white square. Negativities are indicated by triangles, positivities as squares. Red is P1/N1, yellow is P2/N2, green is P3/N3, light blue is P4/N4, and dark blue is P5/N5. The following keys can be used when analyzing a waveform: Up/Down arrows Select previous/next waveform in the series Right/Left arrows Move a toggled peak left or right along the waveform. Movement of the peak will "snap" to estimated peaks in the waveform. To adjust the peak in fine increments, hold down the alt key simultaneously. Number keys 1-5 Select the corresponding peak on the current waveform. To select N1-5, hold down alt while pressing the corresponding number. I Estimates P1-5 for all waveforms on the first press. N1-5 for all waveforms on the second press. After that, nothing happens. U Updates guess for corresponding P or N of successive waveforms based on position of currently toggled P or N. N Toggles normalized view of waveform. +/- keys Increases/decreases scaling factor of waveform. S Saves amplitude and latency of peaks. T Set threshold to current waveform. Alt+Up Indicate that all waveforms are below threshold. Alt+Down Indicate that all waveforms are above threshold. Some keys will repeat if you hold down the key, which may be useful when navigating through the waveforms or adjusting the location of a peak. %prep %autosetup -n ABR-0.0.7 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-ABR -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon May 29 2023 Python_Bot - 0.0.7-1 - Package Spec generated