Skip to main content

Scale-space histogram segmentation algorithm

Project description

pySSHS

Python toolbox for the scale-space histogram segmentation

This toolbox implements the algorithm described in J.Gilles, K.Heal, "A parameterless scale-space approach to find meaningful modes in histograms - Application to image and spectrum segmentation". International Journal of Wavelets, Multiresolution and Information Processing, Vol.12, No.6, 1450044-1--1450044-17, December 2014

ArXiV: https://arxiv.org/abs/1401.2686

Note: this implementation uses sparse matrices for efficient memory storage of the scale-space plane, and uses a discrete Gaussian kernel based on Bessel functions to speed up the computation.

The main function is SSHS_GSS_BoundariesDetect(hist,type) where hist is a 1D array of the histogram to segment and type is method to be used to select the meaningful boundaries. This function calls two functions that can be used independently:

  • SSHS_PlanGaussianScaleSpace which computes the scale-space representation of the given histogram
  • SSHS_MeaningfulScaleSpace which extract the meaningful minima from a given scale-space representation

The resulting boundaries can be plotted on the histogram by using the function SSHS_PlotBoundaries

The file Test_1D.py performs the algorithm on a test histogram for the different methods. The Jupyter notebook juSSHS.ipynb provides examples in 1D as well as for grayscale and color image segmentation.

Author: Jerome Gilles

Date: 12/13/2024

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysshs-1.0.0.0.tar.gz (980.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysshs-1.0.0.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file pysshs-1.0.0.0.tar.gz.

File metadata

  • Download URL: pysshs-1.0.0.0.tar.gz
  • Upload date:
  • Size: 980.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for pysshs-1.0.0.0.tar.gz
Algorithm Hash digest
SHA256 5207f932cb7d4082e1a150f71a2ede9bb788fab90d61fc11be526e7895674baf
MD5 cd6da4831b6ccdf1c2e47ca3a7e9a8bd
BLAKE2b-256 580f3456084e26aa218a3a390ce072eb04b76bc96a07bde09a5be25b3fc02fae

See more details on using hashes here.

File details

Details for the file pysshs-1.0.0.0-py3-none-any.whl.

File metadata

  • Download URL: pysshs-1.0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for pysshs-1.0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97366ec2d45e8936b4946f2bcd07b0b84d235e5ea9404e033fe2719d55d05718
MD5 0558c81a64bf10834a95df9ad1e37dc3
BLAKE2b-256 7363ab3a970c78d131993ab5c8af30e08f0e114afdecd9ca23315592a84ae5f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page