entropy-spine
SPINE — Scale Partitioning by Incremental Nested Entropy
SPINE takes a nonnegative measure over a collection of objects and cuts it into scale strata. It finds where the collection separates into distinct scales, and how strongly, without being told how many groups to look for and without a detection threshold to tune.
You supply two things: a measure, one nonnegative number per object, and an orientation, saying which end of that measure is the atypical one. Those are the scientific input. Everything after them is computed.
pip install entropy-spine # numpy only
pip install "entropy-spine[plot]" # with the figures (matplotlib)
import numpy as np
from entropy_spine import spine, spine_summary
rng = np.random.default_rng(11)
X = np.vstack([rng.standard_normal((200, 2)),
rng.standard_normal((12, 2)) + 9])
scores, result = spine(X, "dist2mean", "upper")
spine_summary(result)
result.n_strata # 2
result.boundary_values # the measure value at the cut, in your units
scores runs from 0 for the typical stratum to 1 for the most atypical, one
value per object, in your object order. When there is nothing to find,
SPINE returns a single stratum — an answer, not a failure.
Documentation
- User guide — worked scenarios, runnable cell by cell
- Function reference — one page per function, every example executed at build
- Choosing a measure — the piece to read before applying SPINE to your own problem
- The theory — why the construction works, in figures and equations
Verified against the reference implementation
This package is developed in the same repository as the MATLAB reference
implementation and is checked against the shared cross-language conformance
fixtures: candidate sets, boundaries, and strata assignments must agree
exactly, continuous quantities to the stated tolerance. The layout
mirrors the reference: core/ is the deterministic computation, interface/
everything a user touches, and nothing in core imports from interface.
https://github.com/almomaa/entropy-spine
Citation
A. R. AlMomani. Scale Partitioning by Incremental Nested Entropy: A Measure-Oriented Theory of Multiscale Structure. Embry-Riddle Aeronautical University, 2026.
License
MIT
Metadata
Release files for entropy-spine 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| entropy_spine-0.1.0.tar.gz | 44.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| entropy_spine-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 86.7 kB
Release files / entropy_spine-0.1.0.tar.gz
| Download URL | entropy_spine-0.1.0.tar.gz |
|---|---|
| Size | 44.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab9563fe33003ba050b74748d0668dfc82671c2e8e2ee239ab64245b8c7102e5
|
|
BLAKE2b-256 checksum How to use checksums |
559b1f2fd56464a20e1944203d4ed72c936ee0b47ae20b1777184468ef789ceb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / entropy_spine-0.1.0-py3-none-any.whl
| Download URL | entropy_spine-0.1.0-py3-none-any.whl |
|---|---|
| Size | 42.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27aeed7a5328cf4f081d175602889efef86f95177da0f0da8f810adbfdd17292
|
|
BLAKE2b-256 checksum How to use checksums |
41a3c4184062edca62beb6aae4daadef9573d68f4e56f08c09ad3db75f061dd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|