ClusterFinder

template<typename FRAME_TYPE = uint16_t, typename PEDESTAL_TYPE = double, typename CT = int32_t>
class ClusterFinder

Public Functions

inline ClusterFinder(Shape<2> image_size, Shape<2> cluster_size, PEDESTAL_TYPE nSigma = 5.0, size_t capacity = 1000000)

Construct a new ClusterFinder object.

Parameters:
  • image_size – size of the image

  • cluster_size – size of the cluster (x, y)

  • nSigma – number of sigma above the pedestal to consider a photon

  • capacity – initial capacity of the cluster vector

inline void push_pedestal_frame(NDView<FRAME_TYPE, 2> frame)
inline NDArray<PEDESTAL_TYPE, 2> pedestal()
inline NDArray<PEDESTAL_TYPE, 2> noise()
inline ClusterVector<CT> steal_clusters(bool realloc_same_capacity = false)

Move the clusters from the ClusterVector in the ClusterFinder to a new ClusterVector and return it.

Parameters:

realloc_same_capacity – if true the new ClusterVector will have the same capacity as the old one

inline void find_clusters(NDView<FRAME_TYPE, 2> frame)