Skip to content

Commit

Permalink
0.12.0 merged pep_benchmarking branch, algorithms now available in …
Browse files Browse the repository at this point in the history
…main
  • Loading branch information
richrobe committed Jan 3, 2025
1 parent f996f32 commit a4214a4
Show file tree
Hide file tree
Showing 40 changed files with 148 additions and 38 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## Version 0.12.0 - January 03, 2025
### New Features
- Added new algorithms for pre-ejection period (PEP) computation in `biopsykit.signals`, including
algorithms for ECG Q-peak extraction (`biopsykit.signals.ecg`) and ICG B-point extraction (`biopsykit.signals.icg`).
Added further utility functions (e.g., for heartbeat segmentation) and to compute the PEP using a combination
of ECG and ICG data (`biopsykit.signals.pep`).

## Version 0.11.0 - January 03, 2025
### Changes
- Made `biopsykit` compatible with matplotlib >= 3.9.
Expand Down
75 changes: 74 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "biopsykit"
version = "0.11.0"
version = "0.12.0"
description = "A Python package for the analysis of biopsychological data."
authors = [
"Robert Richer <robert.richer@fau.de>",
Expand All @@ -23,7 +23,7 @@ packages = [
python = ">=3.9,<4.0"
numpy = "^1"
pandas = "^1"
matplotlib = "^3.4"
matplotlib = "^3.9"
seaborn = "^0"
neurokit2 = "^0"
pingouin = "^0.5.2"
Expand Down
2 changes: 1 addition & 1 deletion src/biopsykit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"utils",
]

__version__ = "0.11.0"
__version__ = "0.12.0"


def version() -> None:
Expand Down
3 changes: 2 additions & 1 deletion src/biopsykit/io/tfm.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
from typing import ClassVar, Optional

import pandas as pd
from biopsykit.utils._types import path_t
from scipy.io import loadmat

from biopsykit.utils._types import path_t


class TFMDataset:
"""Class for loading and processing Task Force Monitor (TFM) data."""
Expand Down
2 changes: 1 addition & 1 deletion src/biopsykit/signals/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Module for processing different types of biosignals."""
from biopsykit.signals import ecg, eeg, icg, imu, rsp

__all__ = ["ecg", "eeg", "imu", "rsp", "icg"]
__all__ = ["ecg", "eeg", "icg", "imu", "rsp"]
1 change: 1 addition & 0 deletions src/biopsykit/signals/_dtypes.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import pandas as pd

from biopsykit.utils.exceptions import ValidationError

__all__ = ["assert_sample_columns_int"]
Expand Down
2 changes: 1 addition & 1 deletion src/biopsykit/signals/ecg/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
from biopsykit.signals.ecg import event_extraction, plotting, preprocessing, segmentation
from biopsykit.signals.ecg.ecg import EcgProcessor

__all__ = ["EcgProcessor", "plotting", "preprocessing", "segmentation", "event_extraction"]
__all__ = ["EcgProcessor", "event_extraction", "plotting", "preprocessing", "segmentation"]
4 changes: 2 additions & 2 deletions src/biopsykit/signals/ecg/event_extraction/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

__all__ = [
"BaseEcgExtraction",
"QPeakExtractionVanLien2013",
"QPeakExtractionForouzanfar2018",
"QPeakExtractionMartinez2004Neurokit",
"QPeakExtractionSciPyFindPeaksNeurokit",
"QPeakExtractionForouzanfar2018",
"QPeakExtractionVanLien2013",
]
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import numpy as np
import pandas as pd
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.ecg.event_extraction._base_ecg_extraction import BaseEcgExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from biopsykit.utils.array_handling import sanitize_input_series
from tpcp import Parameter


class QPeakExtractionForouzanfar2018(BaseEcgExtraction, CanHandleMissingEventsMixin):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import neurokit2 as nk
import numpy as np
import pandas as pd

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.ecg.event_extraction._base_ecg_extraction import BaseEcgExtraction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import neurokit2 as nk
import numpy as np
import pandas as pd

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.ecg.event_extraction._base_ecg_extraction import BaseEcgExtraction
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from typing import Optional

import pandas as pd
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.ecg.event_extraction._base_ecg_extraction import BaseEcgExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from tpcp import Parameter


class QPeakExtractionVanLien2013(BaseEcgExtraction, CanHandleMissingEventsMixin):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import neurokit2 as nk
import numpy as np
import pandas as pd
from tpcp import Parameter

from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.ecg.segmentation._base_segmentation import BaseHeartbeatSegmentation
from tpcp import Parameter

__all__ = ["HeartbeatSegmentationNeurokit"]

Expand Down
2 changes: 1 addition & 1 deletion src/biopsykit/signals/icg/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Module for processing impedance cardiography (ICG) signals."""
from biopsykit.signals.icg import event_extraction, outlier_correction, preprocessing

__all__ = ["preprocessing", "event_extraction", "outlier_correction"]
__all__ = ["event_extraction", "outlier_correction", "preprocessing"]
16 changes: 8 additions & 8 deletions src/biopsykit/signals/icg/event_extraction/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@
from biopsykit.signals.icg.event_extraction._c_point_scipy_findpeaks import CPointExtractionScipyFindPeaks

__all__ = [
"BaseBPointExtraction",
"BaseCPointExtraction",
"BPointExtractionStern1985",
"BPointExtractionLozano2007LinearRegression",
"BPointExtractionLozano2007QuadraticRegression",
"BPointExtractionArbol2017IsoelectricCrossings",
"BPointExtractionArbol2017ThirdDerivative",
"BPointExtractionArbol2017SecondDerivative",
"BPointExtractionArbol2017ThirdDerivative",
"BPointExtractionDebski1993SecondDerivative",
"BPointExtractionDrost2022",
"BPointExtractionSherwood1990",
"BPointExtractionForouzanfar2018",
"BPointExtractionDebski1993SecondDerivative",
"BPointExtractionLozano2007LinearRegression",
"BPointExtractionLozano2007QuadraticRegression",
"BPointExtractionSherwood1990",
"BPointExtractionStern1985",
"BaseBPointExtraction",
"BaseCPointExtraction",
"CPointExtractionScipyFindPeaks",
]
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@

import numpy as np
import pandas as pd
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from biopsykit.utils.array_handling import sanitize_input_dataframe_1d
from biopsykit.utils.exceptions import EventExtractionError
from tpcp import Parameter

__all__ = [
"BPointExtractionArbol2017IsoelectricCrossings",
"BPointExtractionArbol2017ThirdDerivative",
"BPointExtractionArbol2017SecondDerivative",
"BPointExtractionArbol2017ThirdDerivative",
]


Expand Down Expand Up @@ -304,7 +305,7 @@ def __init__(
self.search_window_start_ms = search_window_start_ms

# @make_action_safe
def extract( # noqa: PLR0915
def extract(
self,
*,
icg: Union[pd.Series, pd.DataFrame],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@

import numpy as np
import pandas as pd
from scipy.signal import find_peaks
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from biopsykit.utils.array_handling import sanitize_input_dataframe_1d
from biopsykit.utils.exceptions import EventExtractionError
from scipy.signal import find_peaks
from tpcp import Parameter

__all__ = ["BPointExtractionDebski1993SecondDerivative"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@

import numpy as np
import pandas as pd
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from biopsykit.utils.array_handling import sanitize_input_dataframe_1d
from biopsykit.utils.exceptions import EventExtractionError
from tpcp import Parameter

__all__ = ["BPointExtractionDrost2022"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@

import numpy as np
import pandas as pd
from scipy.signal import argrelmin
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from biopsykit.utils.array_handling import sanitize_input_dataframe_1d
from biopsykit.utils.exceptions import EventExtractionError
from scipy.signal import argrelmin
from tpcp import Parameter

__all__ = ["BPointExtractionForouzanfar2018"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

import numpy as np
import pandas as pd
from tpcp import Parameter

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from tpcp import Parameter

__all__ = ["BPointExtractionLozano2007LinearRegression", "BPointExtractionLozano2007QuadraticRegression"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import numpy as np
import pandas as pd

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@

import numpy as np
import pandas as pd
from scipy.signal import find_peaks

from biopsykit.signals._base_extraction import HANDLE_MISSING_EVENTS, CanHandleMissingEventsMixin
from biopsykit.signals._dtypes import assert_sample_columns_int
from biopsykit.signals.icg.event_extraction._base_b_point_extraction import BaseBPointExtraction
from biopsykit.utils._datatype_validation_helper import _assert_has_columns, _assert_is_dtype
from biopsykit.utils.array_handling import sanitize_input_dataframe_1d
from biopsykit.utils.exceptions import EventExtractionError
from scipy.signal import find_peaks

__all__ = ["BPointExtractionStern1985"]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from typing import Optional

import pandas as pd

from biopsykit.signals._base_extraction import BaseExtraction

__all__ = ["BaseBPointExtraction"]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from typing import Optional

import pandas as pd

from biopsykit.signals._base_extraction import BaseExtraction

__all__ = ["BaseCPointExtraction"]
Expand Down
Loading

0 comments on commit a4214a4

Please sign in to comment.