Skip to main content

A fast, generic, and easy to use clusterizer to cluster hits of a pixel matrix in Python. The clustering happens with numba on numpy arrays to increase the speed.

Project description

# Pixel Clusterizer [![Build Status](https://travis-ci.org/SiLab-Bonn/pixel_clusterizer.svg?branch=master)](https://travis-ci.org/SiLab-Bonn/pixel_clusterizer) [![Build Status](https://ci.appveyor.com/api/projects/status/github/SiLab-Bonn/pixel_clusterizer)](https://ci.appveyor.com/project/SiLab-Bonn/pixel_clusterizer) [![Coverage Status](https://coveralls.io/repos/github/SiLab-Bonn/pixel_clusterizer/badge.svg?branch=master)](https://coveralls.io/github/SiLab-Bonn/pixel_clusterizer?branch=master)

Pixel_clusterizer is an easy to use pixel hit-clusterizer for Python. It clusters hits on an event basis in space and time.

The hits have to be defined as a numpy recarray. The array has to have the following fields:
- event_number
- frame
- column
- row
- charge

or a mapping of the names has to be provided. The data type does not matter.

The result of the clustering is the hit array extended by the following fields:
- cluster_ID
- is_seed
- cluster_size
- n_cluster

A new array with cluster information is also created created and has the following fields:
- event_number
- ID
- size
- charge
- seed_column
- seed_row
- mean_column
- mean_row



# Installation

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

pip install pixel_clusterizer

# Usage

```
import numpy as np

from pixel_clusterizer import clusterizer

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

cr = clusterizer.HitClusterizer() # Initialize clusterizer

hits_clustered, cluster = cr.cluster_hits(hits) # Cluster hits

```
Also take a look at the example folder!

# Test installation
```
nosetests pixel_clusterizer
```

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.0.0.tar.gz (33.7 kB view details)

Uploaded Source

Built Distributions

pixel_clusterizer-3.0.0-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

pixel_clusterizer-3.0.0-py2-none-any.whl (35.4 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for pixel_clusterizer-3.0.0.tar.gz
Algorithm Hash digest
SHA256 fe18c5466cc5794616e5081e0593cc1dd04a9036d3ce39610360b2ab893de091
MD5 af40856d18a9a3a8ad071e9e88b6a9a1
BLAKE2b-256 0dd9aed767c346e392e07ad48c8383d1a0315e72c451462560fb25a269430948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pixel_clusterizer-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61303196bf1b0cbb525bf84b06ebad2025f5b493c0b7a88c55d6914e2b820225
MD5 58e7318dc5124ec9d0742186df7e4772
BLAKE2b-256 ecc9705eac5c033c7ad9cece43c774515f48a3760265c3fd69d8dce6e0f3754e

See more details on using hashes here.

File details

Details for the file pixel_clusterizer-3.0.0-py2-none-any.whl.

File metadata

File hashes

Hashes for pixel_clusterizer-3.0.0-py2-none-any.whl
Algorithm Hash digest
SHA256 7b0dea7dbc5233770fcbad4ed8c5c7f1bb04b8ed15b93613b1c635847192525a
MD5 e1e5379d2a1ba2dd50e691b73e17c53a
BLAKE2b-256 b3edb02ecd90c61f723ee8037a9a115f337dceaecda51c0f26f6f5b6288a6161

See more details on using hashes here.

Supported by

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