Basic example which demonstrates how to use the Persistence1D class for finding extrema features.
Contents
This example demonstrates how to:
- Create a data vector.
- Run persistence on data vector.
- Filter extrema by a persistence threshold.
- Print the filtered extrema.
Expected Output
Output reference file: [persistence_base_dir]\src\examples\SimpleDataVector\SimpleDataVectorRes.ref with contents:
Persistence: 14 minimum index: 11 maximum index: 7
Global minimum index: 4 Global minimum value: -13
Code Documentation
#include "..\..\persistence1d\persistence1d.hpp"
using namespace std;
using namespace p1d;
{
vector< float > data;
data.push_back(2.0); data.push_back(5.0); data.push_back(7.0);
data.push_back(-12.0); data.push_back(-13.0); data.push_back(-7.0);
data.push_back(10.0); data.push_back(18.0); data.push_back(6.0);
data.push_back(8.0); data.push_back(7.0); data.push_back(4.0);
vector< TPairedExtrema > Extrema;
for(vector< TPairedExtrema >::iterator it = Extrema.begin(); it != Extrema.end(); it++)
{
cout << "Persistence: " << (*it).Persistence
<< " minimum index: " << (*it).MinIndex
<< " maximum index: " << (*it).MaxIndex
<< std::endl;
}
return 0;
}