mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-04-23 07:10:03 +02:00
54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
import pytest
|
|
import numpy as np
|
|
import boost_histogram as bh
|
|
import time
|
|
from pathlib import Path
|
|
import pickle
|
|
|
|
from aare import ClusterFile
|
|
from aare import _aare
|
|
from conftest import test_data_path
|
|
|
|
|
|
def test_create_cluster_vector():
|
|
cv = _aare.ClusterVector_Cluster3x3i()
|
|
assert cv.cluster_size_x == 3
|
|
assert cv.cluster_size_y == 3
|
|
assert cv.size == 0
|
|
|
|
|
|
def test_push_back_on_cluster_vector():
|
|
cv = _aare.ClusterVector_Cluster2x2i()
|
|
assert cv.cluster_size_x == 2
|
|
assert cv.cluster_size_y == 2
|
|
assert cv.size == 0
|
|
|
|
cluster = _aare.Cluster2x2i(19, 22, np.ones(4, dtype=np.int32))
|
|
cv.push_back(cluster)
|
|
assert cv.size == 1
|
|
|
|
arr = np.array(cv, copy=False)
|
|
assert arr[0]['x'] == 19
|
|
assert arr[0]['y'] == 22
|
|
|
|
|
|
def test_make_a_hitmap_from_cluster_vector():
|
|
cv = _aare.ClusterVector_Cluster3x3i()
|
|
|
|
# Push back 4 clusters with different positions
|
|
cv.push_back(_aare.Cluster3x3i(0, 0, np.ones(9, dtype=np.int32)))
|
|
cv.push_back(_aare.Cluster3x3i(1, 1, np.ones(9, dtype=np.int32)))
|
|
cv.push_back(_aare.Cluster3x3i(1, 1, np.ones(9, dtype=np.int32)))
|
|
cv.push_back(_aare.Cluster3x3i(2, 2, np.ones(9, dtype=np.int32)))
|
|
|
|
ref = np.zeros((5, 5), dtype=np.int32)
|
|
ref[0,0] = 1
|
|
ref[1,1] = 2
|
|
ref[2,2] = 1
|
|
|
|
|
|
img = _aare.hitmap((5,5), cv)
|
|
# print(img)
|
|
# print(ref)
|
|
assert (img == ref).all()
|
|
|