Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

# ECG & Electrophysiology Signal Processing

Biomedical signal-processing notebook for exploring, filtering, segmenting and visualizing electrophysiological recordings with Python.

## Project objective

The project investigates electrical cardiac signals recorded across multiple channels and develops a workflow for extracting structured information from the raw recordings.

The analysis combines metadata extraction, time-domain visualization, frequency-domain analysis, digital filtering and signal-event detection.

## Processing workflow

### 1. Metadata extraction

XML files associated with the recordings are parsed to recover structured metadata required to identify and interpret signal channels.

### 2. Signal selection and visualization

Selected channels are loaded into Pandas DataFrames and inspected in the time domain.

The notebook works with several electrophysiological signal types, including reference, unipolar and bipolar channels.

### 3. Frequency-domain analysis

The Fast Fourier Transform (FFT) is used to inspect the spectral composition of the recorded signals and identify relevant frequency components and noise.

### 4. Digital filtering

Finite Impulse Response (FIR) filters are designed with SciPy and applied to selected signals.

The notebook explores band-pass filtering and visualizes both:

- The filtered signal
- The frequency response of the filter

### 5. Peak detection and segmentation

Signal events are identified using peak and trough detection.

Detected events are then used to segment portions of the signal for further inspection and feature extraction.

### 6. Visualization

Matplotlib is used throughout the workflow to compare:

- Raw and filtered signals
- Frequency spectra
- Filter responses
- Detected signal segments

## Technologies

- Python
- Pandas
- NumPy
- SciPy
- Matplotlib
- XML parsing
- Jupyter Notebook

## Main techniques

- XML metadata parsing
- Fast Fourier Transform
- FIR filter design
- Band-pass filtering
- Peak and trough detection
- Signal segmentation
- Multi-channel visualization

## Repository contents

- `ProcesamientoECG-Final.ipynb` — main signal-processing notebook
- `PrimeraPrueba/` — supporting project material / test data

## Reproducibility note

The notebook was developed against locally stored electrophysiology files and currently contains absolute local file paths.

To make the project fully reproducible from a fresh clone, the next technical cleanup should:

1. Replace hard-coded paths with relative paths.
2. Define a clear input-data directory.
3. Add a `requirements.txt`.
4. Add a small public or anonymized example dataset where licensing and privacy allow it.

## Scope

This repository demonstrates signal-processing and exploratory-analysis methods. It is not intended as a validated clinical diagnostic tool.

## Project type

**Biomedical Data · Signal Processing · Scientific Computing**

About

ECG signal processing project covering preprocessing, noise filtering, peak detection, feature extraction and visualization using Python.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages