OpenHantek
Loading...
Searching...
No Matches
PostProcessing Class Reference

#include <postprocessing.h>

Inheritance diagram for PostProcessing:

Public Slots

void input (const DSOsamples *data)

Signals

void processingFinished (std::shared_ptr< PPresult > result)

Public Member Functions

 PostProcessing (ChannelID channelCount, int verboseLevel=0)
void registerProcessor (Processor *processor)
void stop ()

Static Private Member Functions

static void convertData (const DSOsamples *source, PPresult *destination)

Private Attributes

const unsigned channelCount
 A new PPresult is created for each new input. We need to know the channel size.
std::vector< Processor * > processors
 The list of processors. Processors are not memory managed by this class.
std::unique_ptr< PPresultcurrentData
bool processing = true
int verboseLevel = 0

Detailed Description

Manages all post processing processors. Register another processor with registerProcessor(p). All processors, in the order of insertion, will process the input data, given by input(data). The final result will be made available via the processingFinished signal.

Constructor & Destructor Documentation

◆ PostProcessing()

PostProcessing::PostProcessing ( ChannelID channelCount,
int verboseLevel = 0 )
explicit

Member Function Documentation

◆ convertData()

void PostProcessing::convertData ( const DSOsamples * source,
PPresult * destination )
staticprivate

◆ input

void PostProcessing::input ( const DSOsamples * data)
slot

Start processing new data. The actual data may be processed in another thread if you have moved this class object into another thread.

Parameters
data

◆ processingFinished

void PostProcessing::processingFinished ( std::shared_ptr< PPresult > result)
signal

◆ registerProcessor()

void PostProcessing::registerProcessor ( Processor * processor)

Adds a new processor that is called when a new input arrived. The order of the processors is imporant. The first added processor will be called first. This class does not take ownership of the processors.

Parameters
processor

◆ stop()

void PostProcessing::stop ( )
inline

Field Documentation

◆ channelCount

const unsigned PostProcessing::channelCount
private

A new PPresult is created for each new input. We need to know the channel size.

◆ currentData

std::unique_ptr< PPresult > PostProcessing::currentData
private

◆ processing

bool PostProcessing::processing = true
private

◆ processors

std::vector< Processor * > PostProcessing::processors
private

The list of processors. Processors are not memory managed by this class.

◆ verboseLevel

int PostProcessing::verboseLevel = 0
private

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