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
```
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
Release history Release notifications | RSS feed
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 hashes)
Built Distributions
Close
Hashes for pixel_clusterizer-3.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61303196bf1b0cbb525bf84b06ebad2025f5b493c0b7a88c55d6914e2b820225 |
|
MD5 | 58e7318dc5124ec9d0742186df7e4772 |
|
BLAKE2b-256 | ecc9705eac5c033c7ad9cece43c774515f48a3760265c3fd69d8dce6e0f3754e |
Close
Hashes for pixel_clusterizer-3.0.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b0dea7dbc5233770fcbad4ed8c5c7f1bb04b8ed15b93613b1c635847192525a |
|
MD5 | e1e5379d2a1ba2dd50e691b73e17c53a |
|
BLAKE2b-256 | b3edb02ecd90c61f723ee8037a9a115f337dceaecda51c0f26f6f5b6288a6161 |