13 #ifndef _INCLUDE_CLIZSORTER
14 #define _INCLUDE_CLIZSORTER
39 Cluster(
float *&iRepresentative,
int iID,
float *&iFeatures,
unsigned int *&iIndices, uint64_t *&iTimestamps,
unsigned int iNspk);
102 std::vector<IndicesStruct> indicesOut;
103 std::vector<Save*> inputSaveVec;
104 std::vector<Save*> outputSaveVec;
109 float *featureWeights;
110 unsigned int *featureIDs;
112 unsigned int *killList;
113 unsigned int killListCount;
115 unsigned int numClusterFusions;
116 unsigned int *clusterFusions;
117 unsigned int *clusterIDs;
119 uint64_t lastSpikeTimestamp;
120 uint64_t currentTime;
127 Sorter(
SorterHandle iHandle, std::vector<Save*> &iInputSaveVec, std::vector<Save*> &iOutputSaveVec, std::vector<IndicesStruct> iIndicesOut);
135 inline void calcDist(
float &oDist,
unsigned int cluster1,
unsigned int cluster2);
144 int fusionPossible(
unsigned int idMaster,
unsigned int idSlave,
float diffCrit);
165 void fuseCluster(
unsigned int idMaster,
unsigned int idSlave);
191 memMan.
free(featureIDs);
192 memMan.
free(featureStd);
193 memMan.
free(featureWeights);
194 memMan.
free(killList);
unsigned int numFeatures
Definition: clizSorter.h:65
void killTheList()
Definition: clizSorter.cpp:594
void calcDist(float &oDist, unsigned int cluster1, unsigned int cluster2)
Definition: clizSorter.cpp:226
unsigned int numSpikesToConsider
Definition: clizSorter.h:61
unsigned int corrPadding
Definition: clizSorter.h:66
std::vector< Cluster > cluster
Definition: clizSorter.h:54
Definition: clizSorter.h:59
void threadFunc()
Definition: clizSorter.cpp:73
Definition: clizSorter.h:26
void fuseCluster(unsigned int idMaster, unsigned int idSlave)
Definition: clizSorter.cpp:494
unsigned int minSpikes2AdultCluster
Definition: clizSorter.h:64
uint64_t forcingDelay
Definition: clizSorter.h:69
Definition: clizSorter.h:98
uint64_t timeUntilForcing
Definition: clizSorter.h:68
unsigned int nspk
Definition: clizSorter.h:30
float * representative
Definition: clizSorter.h:33
void feedSpikeFeatures(float *iFeatures, uint64_t *iTimestamps, int iNspk)
Definition: clizSorter.cpp:190
float maxDist4Forcing
Definition: clizSorter.h:71
unsigned int * indices
Definition: clizSorter.h:31
unsigned int min_clusters
Definition: clizSorter.h:72
void getClusterCount(int &oClusterCount)
Definition: clizSorter.cpp:610
Definition: clizSorter.h:52
Sorter(SorterHandle iHandle, std::vector< Save * > &iInputSaveVec, std::vector< Save * > &iOutputSaveVec, std::vector< IndicesStruct > iIndicesOut)
Definition: clizSorter.cpp:50
Definition: clizFunctions.h:268
float adultFusionCriteriaParams[10]
Definition: clizSorter.h:63
uint64_t * timestamps
Definition: clizSorter.h:34
void free(memPtr *memAdr)
Definition: clizFunctions.h:331
float fusionCriteriaParams[10]
Definition: clizSorter.h:62
~Sorter()
Definition: clizSorter.h:189
float * features
Definition: clizSorter.h:32
int fusionPossible(unsigned int idMaster, unsigned int idSlave, float diffCrit)
Definition: clizSorter.cpp:252
void clusteringLoop(unsigned int newClusters)
Definition: clizSorter.cpp:330
unsigned int maxNspk4Forcing
Definition: clizSorter.h:70
int ID
Definition: clizSorter.h:29
void destroy(MemoryManager &memMan)
Definition: clizSorter.cpp:38
Cluster(float *&iRepresentative, int iID, float *&iFeatures, unsigned int *&iIndices, uint64_t *&iTimestamps, unsigned int iNspk)
Definition: clizSorter.cpp:23
void killCluster(unsigned int iClusterIndex)
Definition: clizSorter.cpp:586
unsigned int numAllFeatures
Definition: clizSorter.h:67