AARE
Data analysis library for PSI hybrid detectors
Loading...
Searching...
No Matches
Data Structures | Public Member Functions | Private Member Functions | Private Attributes
aare::ClusterFinder< T > Class Template Reference

#include <VariableSizeClusterFinder.hpp>

Data Structures

struct  Hit
 

Public Member Functions

 ClusterFinder (image_shape shape, T threshold)
 
NDArray< int, 2 > labeled ()
 
void set_noiseMap (NDView< T, 2 > noise_map)
 
void set_peripheralThresholdFactor (int factor)
 
void find_clusters (NDView< T, 2 > img)
 
void find_clusters_X (NDView< T, 2 > img)
 
void rec_FillHit (int clusterIndex, int i, int j)
 
void single_pass (NDView< T, 2 > img)
 
void first_pass ()
 
void second_pass ()
 
void store_clusters ()
 
std::vector< Hitsteal_hits ()
 
void clear_hits ()
 
void print_connections ()
 
size_t total_clusters () const
 

Private Member Functions

int check_neighbours (int i, int j)
 
void add_link (int from, int to)
 

Private Attributes

const std::array< ssize_t, 2 > shape_
 
NDView< T, 2 > original_
 
NDArray< int, 2 > labeled_
 
NDArray< int, 2 > peripheral_labeled_
 
NDArray< bool, 2 > binary_
 
threshold_
 
NDView< T, 2 > noiseMap
 
bool use_noise_map = false
 
int peripheralThresholdFactor_ = 5
 
int current_label
 
const std::array< int, 4 > di {{0, -1, -1, -1}}
 
const std::array< int, 4 > dj {{-1, -1, 0, 1}}
 
const std::array< int, 8 > di_ {{0, 0, -1, 1, -1, 1, -1, 1}}
 
const std::array< int, 8 > dj_ {{-1, 1, 0, 0, 1, -1, -1, 1}}
 
std::map< int, int > child
 
std::unordered_map< int, Hith_size
 
std::vector< Hithits
 

Constructor & Destructor Documentation

◆ ClusterFinder()

template<typename T >
aare::ClusterFinder< T >::ClusterFinder ( image_shape  shape,
threshold 
)
inline

Member Function Documentation

◆ add_link()

template<typename T >
void aare::ClusterFinder< T >::add_link ( int  from,
int  to 
)
inlineprivate

◆ check_neighbours()

template<typename T >
int aare::ClusterFinder< T >::check_neighbours ( int  i,
int  j 
)
private

◆ clear_hits()

template<typename T >
void aare::ClusterFinder< T >::clear_hits ( )
inline

◆ find_clusters()

template<typename T >
void aare::ClusterFinder< T >::find_clusters ( NDView< T, 2 >  img)

◆ find_clusters_X()

template<typename T >
void aare::ClusterFinder< T >::find_clusters_X ( NDView< T, 2 >  img)

◆ first_pass()

template<typename T >
void aare::ClusterFinder< T >::first_pass

◆ labeled()

template<typename T >
NDArray< int, 2 > aare::ClusterFinder< T >::labeled ( )
inline

◆ print_connections()

template<typename T >
void aare::ClusterFinder< T >::print_connections ( )
inline

◆ rec_FillHit()

template<typename T >
void aare::ClusterFinder< T >::rec_FillHit ( int  clusterIndex,
int  i,
int  j 
)

◆ second_pass()

template<typename T >
void aare::ClusterFinder< T >::second_pass

◆ set_noiseMap()

template<typename T >
void aare::ClusterFinder< T >::set_noiseMap ( NDView< T, 2 >  noise_map)
inline

◆ set_peripheralThresholdFactor()

template<typename T >
void aare::ClusterFinder< T >::set_peripheralThresholdFactor ( int  factor)
inline

◆ single_pass()

template<typename T >
void aare::ClusterFinder< T >::single_pass ( NDView< T, 2 >  img)

◆ steal_hits()

template<typename T >
std::vector< Hit > aare::ClusterFinder< T >::steal_hits ( )
inline

◆ store_clusters()

template<typename T >
void aare::ClusterFinder< T >::store_clusters

◆ total_clusters()

template<typename T >
size_t aare::ClusterFinder< T >::total_clusters ( ) const
inline

Field Documentation

◆ binary_

template<typename T >
NDArray<bool, 2> aare::ClusterFinder< T >::binary_
private

◆ child

template<typename T >
std::map<int, int> aare::ClusterFinder< T >::child
private

◆ current_label

template<typename T >
int aare::ClusterFinder< T >::current_label
private

◆ di

template<typename T >
const std::array<int, 4> aare::ClusterFinder< T >::di {{0, -1, -1, -1}}
private

◆ di_

template<typename T >
const std::array<int, 8> aare::ClusterFinder< T >::di_ {{0, 0, -1, 1, -1, 1, -1, 1}}
private

◆ dj

template<typename T >
const std::array<int, 4> aare::ClusterFinder< T >::dj {{-1, -1, 0, 1}}
private

◆ dj_

template<typename T >
const std::array<int, 8> aare::ClusterFinder< T >::dj_ {{-1, 1, 0, 0, 1, -1, -1, 1}}
private

◆ h_size

template<typename T >
std::unordered_map<int, Hit> aare::ClusterFinder< T >::h_size
private

◆ hits

template<typename T >
std::vector<Hit> aare::ClusterFinder< T >::hits
private

◆ labeled_

template<typename T >
NDArray<int, 2> aare::ClusterFinder< T >::labeled_
private

◆ noiseMap

template<typename T >
NDView<T, 2> aare::ClusterFinder< T >::noiseMap
private

◆ original_

template<typename T >
NDView<T, 2> aare::ClusterFinder< T >::original_
private

◆ peripheral_labeled_

template<typename T >
NDArray<int, 2> aare::ClusterFinder< T >::peripheral_labeled_
private

◆ peripheralThresholdFactor_

template<typename T >
int aare::ClusterFinder< T >::peripheralThresholdFactor_ = 5
private

◆ shape_

template<typename T >
const std::array<ssize_t, 2> aare::ClusterFinder< T >::shape_
private

◆ threshold_

template<typename T >
T aare::ClusterFinder< T >::threshold_
private

◆ use_noise_map

template<typename T >
bool aare::ClusterFinder< T >::use_noise_map = false
private

The documentation for this class was generated from the following file: