svcore  1.9
FeatureExtractionModelTransformer Class Reference

#include <FeatureExtractionModelTransformer.h>

Inheritance diagram for FeatureExtractionModelTransformer:
Collaboration diagram for FeatureExtractionModelTransformer:

List of all members.

Public Types

typedef std::vector< Model * > Models
enum  Type { RTThread, NonRTThread }

Public Slots

void start ()

Public Member Functions

 FeatureExtractionModelTransformer (Input input, const Transform &transform)
 FeatureExtractionModelTransformer (Input input, const Transforms &relatedTransforms)
virtual ~FeatureExtractionModelTransformer ()
Models getAdditionalOutputModels ()
 Return any additional models that were created during processing.
bool willHaveAdditionalOutputModels ()
 Return true if the current transform is one that may produce additional models (to be retrieved through getAdditionalOutputModels above).
void abandon ()
 Hint to the processing thread that it should give up, for example because the process is going to exit or we want to get rid of the input model.
ModelgetInputModel ()
 Return the input model for the transform.
int getInputChannel ()
 Return the input channel spec for the transform.
Models getOutputModels ()
 Return the set of output models created by the transform or transforms.
Models detachOutputModels ()
 Return the set of output models, also detaching them from the transformer so that they will not be deleted when the transformer is.
virtual Models detachAdditionalOutputModels ()
 Return the set of additional models, also detaching them from the transformer.
QString getMessage () const
 Return a warning or error message.

Protected Types

typedef std::map< int,
std::map< int,
SparseTimeValueModel * > > 
AdditionalModelMap

Protected Member Functions

bool initialise ()
virtual void run ()
void createOutputModels (int n)
SparseTimeValueModelgetAdditionalModel (int transformNo, int binNo)
void addFeature (int n, int blockFrame, const Vamp::Plugin::Feature &feature)
void setCompletion (int, int)
void getFrames (int channelCount, long startFrame, long size, float **buffer)
DenseTimeValueModelgetConformingInput ()
template<typename ModelClass >
bool isOutput (int n)
template<typename ModelClass >
ModelClass * getConformingOutput (int n)

Protected Attributes

Vamp::Plugin * m_plugin
std::vector
< Vamp::Plugin::OutputDescriptor * > 
m_descriptors
std::vector< int > m_fixedRateFeatureNos
std::vector< int > m_outputNos
std::map< int, bool > m_needAdditionalModels
AdditionalModelMap m_additionalModels
Transforms m_transforms
Input m_input
Models m_outputs
bool m_detached
bool m_detachedAdd
bool m_abandoned
QString m_message

Detailed Description

Definition at line 31 of file FeatureExtractionModelTransformer.h.


Member Typedef Documentation

typedef std::map<int, std::map<int, SparseTimeValueModel *> > FeatureExtractionModelTransformer::AdditionalModelMap [protected]

Definition at line 64 of file FeatureExtractionModelTransformer.h.

typedef std::vector<Model *> ModelTransformer::Models [inherited]

Definition at line 43 of file ModelTransformer.h.


Member Enumeration Documentation

enum Thread::Type [inherited]
Enumerator:
RTThread 
NonRTThread 

Definition at line 29 of file Thread.h.


Constructor & Destructor Documentation

Definition at line 52 of file FeatureExtractionModelTransformer.cpp.

References initialise().


Member Function Documentation

Return any additional models that were created during processing.

This might happen if, for example, a transform was configured to split a multi-bin output into separate single-bin models as it processed. These should not be queried until after the transform has completed.

Reimplemented from ModelTransformer.

Definition at line 486 of file FeatureExtractionModelTransformer.cpp.

References m_additionalModels.

Return true if the current transform is one that may produce additional models (to be retrieved through getAdditionalOutputModels above).

Reimplemented from ModelTransformer.

Definition at line 502 of file FeatureExtractionModelTransformer.cpp.

References m_needAdditionalModels.

!! SV doesn't actually support display of models that have !! different underlying rates together -- so we always set !! the model rate to be the input model's rate, and adjust !! the resolution appropriately. We can't properly display !! data with a higher resolution than the base model at all

Definition at line 223 of file FeatureExtractionModelTransformer.cpp.

References EditableDenseThreeDimensionalModel::BasicMultirateCompression, getConformingInput(), PluginRDFDescription::getOutputEventTypeURI(), PluginRDFDescription::getOutputSignalTypeURI(), Model::getSampleRate(), m_descriptors, m_needAdditionalModels, m_outputNos, ModelTransformer::m_outputs, m_plugin, ModelTransformer::m_transforms, EditableDenseThreeDimensionalModel::setBinNames(), Model::setRDFTypeURI(), SparseValueModel< PointType >::setScaleUnits(), and Model::setSourceModel().

Referenced by initialise().

void FeatureExtractionModelTransformer::getFrames ( int  channelCount,
long  startFrame,
long  size,
float **  buffer 
) [protected]
template<typename ModelClass >
bool FeatureExtractionModelTransformer::isOutput ( int  n) [inline, protected]

Definition at line 81 of file FeatureExtractionModelTransformer.h.

References ModelTransformer::m_outputs.

template<typename ModelClass >
ModelClass* FeatureExtractionModelTransformer::getConformingOutput ( int  n) [inline, protected]

Definition at line 85 of file FeatureExtractionModelTransformer.h.

References ModelTransformer::m_outputs.

void ModelTransformer::abandon ( ) [inline, inherited]

Hint to the processing thread that it should give up, for example because the process is going to exit or we want to get rid of the input model.

Caller should still wait() and/or delete the transform before assuming its input and output models are no longer required.

Definition at line 68 of file ModelTransformer.h.

References ModelTransformer::m_abandoned.

Referenced by ModelTransformerFactory::modelAboutToBeDeleted(), and setCompletion().

int ModelTransformer::getInputChannel ( ) [inline, inherited]

Return the input channel spec for the transform.

Definition at line 78 of file ModelTransformer.h.

References ModelTransformer::Input::getChannel(), and ModelTransformer::m_input.

Models ModelTransformer::getOutputModels ( ) [inline, inherited]

Return the set of output models created by the transform or transforms.

Returns an empty list if any transform could not be initialised; an error message may be available via getMessage() in this situation.

Definition at line 86 of file ModelTransformer.h.

References ModelTransformer::m_outputs.

Referenced by ModelTransformer::detachOutputModels(), ModelTransformerFactory::modelAboutToBeDeleted(), and ModelTransformer::~ModelTransformer().

Return the set of output models, also detaching them from the transformer so that they will not be deleted when the transformer is.

The caller takes ownership of the models.

Definition at line 93 of file ModelTransformer.h.

References ModelTransformer::getOutputModels(), and ModelTransformer::m_detached.

Referenced by ModelTransformerFactory::transformMultiple().

virtual Models ModelTransformer::detachAdditionalOutputModels ( ) [inline, virtual, inherited]

Return the set of additional models, also detaching them from the transformer.

The caller takes ownership of the models.

Definition at line 118 of file ModelTransformer.h.

References ModelTransformer::getAdditionalOutputModels(), and ModelTransformer::m_detachedAdd.

Referenced by ModelTransformerFactory::transformerFinished().

QString ModelTransformer::getMessage ( ) const [inline, inherited]

Return a warning or error message.

If getOutputModel returned a null pointer, this should contain a fatal error message for the transformer; otherwise it may contain a warning to show to the user about e.g. suboptimal block size or whatever.

Definition at line 129 of file ModelTransformer.h.

References ModelTransformer::m_message.

Referenced by ModelTransformerFactory::transformMultiple().


Member Data Documentation

std::vector<Vamp::Plugin::OutputDescriptor *> FeatureExtractionModelTransformer::m_descriptors [protected]

Definition at line 58 of file FeatureExtractionModelTransformer.h.

Referenced by addFeature(), and initialise().

std::vector<int> FeatureExtractionModelTransformer::m_outputNos [protected]

Definition at line 59 of file FeatureExtractionModelTransformer.h.

Referenced by createOutputModels(), initialise(), and run().

QString ModelTransformer::m_message [protected, inherited]

Definition at line 141 of file ModelTransformer.h.

Referenced by ModelTransformer::getMessage(), initialise(), and run().


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