org.cybertory.MSS
Class PolynomialNoiseFunction

java.lang.Object
  extended byorg.cybertory.MSS.PointModifyFunction
      extended byorg.cybertory.MSS.PolynomialNoiseFunction

public class PolynomialNoiseFunction
extends PointModifyFunction

Custom JAI operation that adds noise as the sum of a series of specified terms of a polynomial formula, each being a normal distribution. Each term is specified as an instance of PolynomialNoiseTerm:

noise = Sexp * stddev * Z()

where:

S
is the (signal) intensity
exp
is the exponent specified in the PolynomialNoiseTerm
stddev
is the standard deviation specified in the PolynomialNoiseTerm
Z()
is a normal distribution centered around zero with a stddev of one
Each component contributes a distribution with a mean of zero, so the sum also has a mean of zero.


Constructor Summary
PolynomialNoiseFunction(java.util.Random rand, PolynomialNoiseTerm[] terms)
           
PolynomialNoiseFunction(java.util.Random rand, PolynomialNoiseTerm[] terms, boolean channelsIndependent)
          Constructor, called from RIF
 
Method Summary
 void modifyValues(float[] values)
          Override this method if the values for different channels are not independent of each other.
 
Methods inherited from class org.cybertory.MSS.PointModifyFunction
getModifiedValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PolynomialNoiseFunction

public PolynomialNoiseFunction(java.util.Random rand,
                               PolynomialNoiseTerm[] terms)

PolynomialNoiseFunction

public PolynomialNoiseFunction(java.util.Random rand,
                               PolynomialNoiseTerm[] terms,
                               boolean channelsIndependent)
Constructor, called from RIF

Method Detail

modifyValues

public void modifyValues(float[] values)
Description copied from class: PointModifyFunction
Override this method if the values for different channels are not independent of each other. The values are modified in place.

Overrides:
modifyValues in class PointModifyFunction
Parameters:
values - input and output array of channel values for a pixel.