An open API service indexing awesome lists of open source software.

https://github.com/harmonicode/signal-viewer

Signal-Viewer is a user-friendly tool designed to help you visualize and analyze various signals such as ECG, EEG, and EMG. It provides an intuitive interface for loading, displaying, and interpreting signal data.
https://github.com/harmonicode/signal-viewer

biomedical-signal-processing data-visualization pyqt5 python signal-processing

Last synced: 2 months ago
JSON representation

Signal-Viewer is a user-friendly tool designed to help you visualize and analyze various signals such as ECG, EEG, and EMG. It provides an intuitive interface for loading, displaying, and interpreting signal data.

Awesome Lists containing this project

README

          





Logo

Signal Viewer


Your best solution to viewing signals!


Table of Contents



  1. About The Project


  2. Features

  3. Installation

  4. Usage

  5. Contributing

  6. Contact

## About The Project

first page screenshot


A **Signal Viewer** is a powerful and intuitive application for visualizing and analyzing biomedical signals such as ECG, EEG, and EMG. With a user-friendly interface, this tool allows for easy loading, display, and interaction with various signal datasets, making it essential for researchers, clinicians, and students in biomedical engineering.

## Features

- **Multi-Signal Visualization**: Display multiple signals simultaneously with synchronized controls.
- **Play/Pause Functionality**: Control signal playback with play and pause buttons.
- **Zoom and Pan**: Zoom in and out, and pan for detailed signal inspection.
- **Linked Controls**: Synchronize playback and control across multiple signal graphs.
- **Signal Alignment**: Align the speed of multiple signals for comparative analysis.
- **Region of Interest (ROI)**: Highlight specific regions of the signal for focused analysis.
- **Signal Processing**: Perform operations such as signal extraction, gap/overlap processing, and signal merging.
- **Report Generation**: Generate detailed reports on the analyzed signals.
- **Customizable Interface**: Modify the appearance and layout to suit your needs.

https://github.com/user-attachments/assets/f765d72a-f8d8-4948-9389-0c810c6c9d1e

## Installation

1. **Clone the repository**:
```bash
git clone https://github.com/yourusername/signal-viewer.git
```

2. **Navigate to the project directory**:
```bash
cd signal-viewer
```

3. **Install the required dependencies**:
```bash
pip install -r requirements.txt
```

## Usage

1. **Run the main application**:
```bash
python main.py
```

2. **Load signal datasets** from the `Datasets` directory.

3. **Control playback** using the play, pause, zoom, and pan buttons.

4. **Synchronize playback** for multiple signals using linked controls.

5. **Highlight regions of interest** and perform signal processing as needed.

6. **Generate reports** for detailed analysis and documentation.

## Project Structure

- **`main.py`**: Initializes and runs the Signal Viewer application.
- **`GraphWidget.py`**: Contains the `GraphWidget` class for rendering and interacting with signal graphs.
- **`ReportDialog.py`**: Handles generation and display of signal analysis reports.
- **`Datasets`**: Directory for sample signal datasets.
- **`Styles`**: Directory with QSS files for customizing the app's appearance.
- **`Icons`**: Directory for icons used in the application.

## Contributing

We welcome contributions to enhance Signal Viewer’s functionality and usability! Follow these steps to contribute:

1. **Fork the repository**.
2. **Create a new branch**:
```bash
git checkout -b feature-name
```

3. **Make your changes** and commit:
```bash
git commit -m "Add your message here"
```

4. **Push to the branch**:
```bash
git push origin feature-name
```

5. **Open a pull request**.

### Contributors:


ahmed abdelaal image



louai eleslamboly image



anas mohamed image


ali younis image

### Built With

* python logo

## Contact

Ahmed Abdelaal




Louai Eleslamboly




Anas Mohamed




Ali Younis


[contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge
[contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge
[forks-url]: https://github.com/othneildrew/Best-README-Template/network/members
[stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge
[stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers
[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge
[issues-url]: https://github.com/othneildrew/Best-README-Template/issues
[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge
[license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/othneildrew
[product-screenshot]: images/screenshot.png
[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
[Next-url]: https://nextjs.org/
[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
[React-url]: https://reactjs.org/
[Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D
[Vue-url]: https://vuejs.org/
[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular&logoColor=white
[Angular-url]: https://angular.io/
[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge&logo=svelte&logoColor=FF3E00
[Svelte-url]: https://svelte.dev/
[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge&logo=laravel&logoColor=white
[Laravel-url]: https://laravel.com
[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge&logo=bootstrap&logoColor=white
[Bootstrap-url]: https://getbootstrap.com
[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge&logo=jquery&logoColor=white
[JQuery-url]: https://jquery.com