jAudioFeatureExtractor.AudioFeatures
Class Mean

java.lang.Object
  extended by jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
      extended by jAudioFeatureExtractor.AudioFeatures.MetaFeatureFactory
          extended by jAudioFeatureExtractor.AudioFeatures.Mean

public class Mean
extends MetaFeatureFactory

Calculates the running mean of an underlying feature.

Author:
Daniel McEnnis

Field Summary
protected  int runningAverage
           
 
Fields inherited from class jAudioFeatureExtractor.AudioFeatures.MetaFeatureFactory
fe_
 
Fields inherited from class jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
definition, dependencies, offsets, parent
 
Constructor Summary
Mean()
          Basic constructor that initializes the metafeautres values properly for use as a factory.
Mean(MetaFeatureFactory mff)
          Convenience constructor to create a new factory object with the given dependant metafeature
 
Method Summary
 java.lang.Object clone()
          Create an identical copy of this feature.
 MetaFeatureFactory defineFeature(FeatureExtractor fe)
          Factory method for this class which generates a fully usable MetaFeature object.
 double[] extractFeature(double[] samples, double sampling_rate, double[][] other_feature_values)
          Calculates the mean over last 100 windows
 java.lang.String getElement(int index)
          Function permitting an unintelligent outside function (ie.
 FeatureDefinition getFeatureDefinition()
          Overridden to regenerate the feature definition.
 void setElement(int index, java.lang.String value)
          Function permitting an unintelligent outside function (ie.
 void setWindow(int n)
          Changes the number of dependant samples extracted for each object.
 
Methods inherited from class jAudioFeatureExtractor.AudioFeatures.MetaFeatureFactory
chainMetaFeatureFactory, setParent
 
Methods inherited from class jAudioFeatureExtractor.AudioFeatures.FeatureExtractor
getDepenedencies, getDepenedencyOffsets
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

runningAverage

protected int runningAverage
Constructor Detail

Mean

public Mean()
Basic constructor that initializes the metafeautres values properly for use as a factory.


Mean

public Mean(MetaFeatureFactory mff)
Convenience constructor to create a new factory object with the given dependant metafeature

Parameters:
mff - metafeature factory that this newly created object should depend upon.
Method Detail

defineFeature

public MetaFeatureFactory defineFeature(FeatureExtractor fe)
Factory method for this class which generates a fully usable MetaFeature object. Using the structure stored in this Mean object, create a new FeatureExtractor with the given specific FeatureExtraction as a base. If we are calulating the mean of another meta-feature, recursively create the underlying meta feature first.

Specified by:
defineFeature in class MetaFeatureFactory
Parameters:
fe - Feature to be used as base for feature extraction
Returns:
completed metafeature.

extractFeature

public double[] extractFeature(double[] samples,
                               double sampling_rate,
                               double[][] other_feature_values)
                        throws java.lang.Exception
Calculates the mean over last 100 windows

Specified by:
extractFeature in class FeatureExtractor
Parameters:
samples - signal being processed
sampling_rate - sample rate of the signal
other_feature_values - dependancies of the current signal
Returns:
mean over last 100 values of dependant feature.
Throws:
java.lang.Exception - Throws an informative exception if the feature cannot be calculated.

setWindow

public void setWindow(int n)
               throws java.lang.Exception
Changes the number of dependant samples extracted for each object.

Overrides:
setWindow in class MetaFeatureFactory
Parameters:
n - number of samples that should be included in the running average.
Throws:
java.lang.Exception - thrown if n is equal to or less than one

getElement

public java.lang.String getElement(int index)
                            throws java.lang.Exception
Function permitting an unintelligent outside function (ie. EditFeatures frame) to get the default values used to populate the table's entries. The correct index values are inferred from definition.attribute value.

As a metafeature, recursively calls children for the feature requested.

Overrides:
getElement in class FeatureExtractor
Parameters:
index - which of AreaMoment's attributes should be edited.
Throws:
java.lang.Exception

setElement

public void setElement(int index,
                       java.lang.String value)
                throws java.lang.Exception
Function permitting an unintelligent outside function (ie. EditFeatures frame) to set the default values used to popylate the table's entries. Like getElement, the correct index values are inferred from the definition.attributes value.

As a metafeature, recursively calls children to set the feature requested.

Overrides:
setElement in class FeatureExtractor
Parameters:
index - attribute to be set
value - new value of the attribute
Throws:
java.lang.Exception

clone

public java.lang.Object clone()
Create an identical copy of this feature. This permits FeatureExtractor to use the prototype pattern to create new composite features using metafeatures.

Specified by:
clone in class FeatureExtractor

getFeatureDefinition

public FeatureDefinition getFeatureDefinition()
Overridden to regenerate the feature definition. Perhaps its should be kept purely virtual, but currently, attributes and dimensions are recalculated for each iteration. This is necessary so that changes in children's defintions get propogated back to the top level. As of 05-08-05 LPC is the only feature that requires this.

Overrides:
getFeatureDefinition in class FeatureExtractor