Skip to main content

A fast, generic, and easy to use clusterizer to cluster hits of a pixel matrix in Python.

Project description

Pixel Clusterizer Build Status Build status Coverage Status

tests

Intended Use

Pixel_clusterizer is an easy to use pixel hit clusterizer for Python. It clusters hits connected to unique event numbers in space and time.

The hits must be provided in a numpy recarray. The array must contain the following columns ("fields"):

  • event_number
  • frame
  • column
  • row
  • charge

If the column names are different, a mapping of the names to the default names can be provided. The data type of each column can vary and is not fixed. The column/row values can be either indices (integer, default) or positions (float). Charge can be either integer or float (default).

After clustering, two new arrays are returned:

  1. The cluster hits array is the hits array extended by the following columns:
    • cluster_ID
    • is_seed
    • cluster_size
    • n_cluster
  2. The cluster array contains in each row the information about a single cluster. It has the following columns:
    • event_number
    • ID
    • n_hits
    • charge
    • seed_column
    • seed_row
    • mean_column
    • mean_row

Installation

Python 2.7 or Python 3 or higher must be used. There are many ways to install Python, though we recommend using Anaconda Python or Miniconda.

Prerequisites

The following packages are required:

numpy numba>=0.24.0

Installation of pixel_clusterizer

The stable code is hosted on PyPI and can be installed by typing:

pip install pixel_clusterizer

For developer, clone the pixel_clusterizer git repository and use the following command to install pixel_clusterizer:

pip install -e .

For testing the basic functionality of pixel_clusterizer, execute the following command:

nosetests pixel_clusterizer

Usage

import numpy as np

from pixel_clusterizer import clusterizer

hits = np.ones(shape=(3, ), dtype=clusterizer.default_hits_dtype)  # Create some data with std. hit data type

cr = clusterizer.HitClusterizer()  # Initialize clusterizer

cluster_hits, clusters = cr.cluster_hits(hits)  # Cluster hits

Also please have a look at the examples folder!

Support

Please use GitHub's issue tracker for bug reports/feature requests/questions.

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

pixel_clusterizer-3.2.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

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

pixel_clusterizer-3.2.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file pixel_clusterizer-3.2.0.tar.gz.

File metadata

  • Download URL: pixel_clusterizer-3.2.0.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for pixel_clusterizer-3.2.0.tar.gz
Algorithm Hash digest
SHA256 34523273eac36f070e61626c6db728395ba8fe311e45bf5c7ea9c64074f36e6c
MD5 3ed06bfb6fb79c022217c2f36722d989
BLAKE2b-256 8dcd8b690a6f0bb050b80a507143cc1af7befedf9ec6661ca229fa1c1bfae540

See more details on using hashes here.

File details

Details for the file pixel_clusterizer-3.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pixel_clusterizer-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f763043bbd2dfd53a1a190ae7bb345921b551e6efc3e0f1db76ba9d6803f333
MD5 6e58ffa7dcd88ac22d2297f6d844c6ab
BLAKE2b-256 b6489e103f590fb2ac12a3bfb912b969aa35b933869e7b0cadd12cbf254f6bdf

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