Skip to main content

Peakoscope

PyPI version Code style: black

Peakoscope is a python package for hierarchical analysis of peak and valley regions in numeric data.

peak plot

  • Peak regions can be nested, for example, when a large peak region contains smaller subpeak regions.
  • A one-pass algorithm that finds all nested regions and orders them into a tree.
  • Trees that can filtered, traversed, partitioned, pruned, grafted and serialized.
  • Optional interfaces: matplotlib, pandas, polars, CLI and object-oriented.

Usage examples

Compute the tree of nested peak regions in a data set:

>>> import peakoscope
>>> data = [10, 30, 40, 30, 10, 50, 70, 70, 50, 80]
>>> peaktree = peakoscope.tree(data)
>>> print(peaktree)
0:10
├─5:10
│ ├─9:10
│ └─6:8
└─1:4
  └─2:3

Print the tree minus its root:

>>> peaktree = peakoscope.tree(data, forest=True)
>>> print(peaktree - peaktree.roots())
5:10
├─9:10
└─6:8
1:4
└─2:3

Print the leaf nodes (which are local maxima in data) and corresponding slices of data:

>>> for leaf in peaktree.leaf_nodes():
...    print(leaf, leaf.subarray(data))
...
9:10 [80]
6:8 [70, 70]
2:3 [40]

Documentation

Demo, tutorials and a glossary:

Authors

License

Copyright (C) 2021-2025 Eivind Tøstesen. This software is licensed under GPL-3.0-or-later

Citation

Citation can include one or more of:

Metadata

Release files for peakoscope 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peakoscope 1.2.0
File Size Uploaded
peakoscope-1.2.0.tar.gz 39.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for peakoscope 1.2.0
File Interpreter ABI Platform
peakoscope-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 79.5 kB

Release files / peakoscope-1.2.0.tar.gz

Download URL peakoscope-1.2.0.tar.gz
Size 39.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9a00a44605b3e4dde73aea4639c7dd30829ba02cbf0c99bc72d1018ddaa3bd3c
BLAKE2b-256 checksum
How to use checksums
33b2a2b11f6e7e7abd41029026dc2c63673e94c4deb84fe73e2b9b9744e9fe08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release files / peakoscope-1.2.0-py3-none-any.whl

Download URL peakoscope-1.2.0-py3-none-any.whl
Size 40.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f67a6049b7f3e24bc0504b2c8cd99db24eb7c2b70714d3517416e7b1a7e5ed1
BLAKE2b-256 checksum
How to use checksums
665645d92b3047545d5e9881030395541a95a0def7ce93998b8ca94edb174337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page