Skip to content

ahmed-226/Signal-Viewer

Repository files navigation


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.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/signal-viewer.git
  2. Navigate to the project directory:

    cd signal-viewer
  3. Install the required dependencies:

    pip install -r requirements.txt

Usage

  1. Run the main application:

    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:

    git checkout -b feature-name
  3. Make your changes and commit:

    git commit -m "Add your message here"
  4. Push to the branch:

    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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages