| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectFacemorph.Pyramid
public class Pyramid
A wavelet pyramid class for texture analysis / synthesis
| Field Summary | |
|---|---|
 FloatImage[] | 
horizontal
The set of horizontally filtered images at different resolutions  | 
 int | 
levels
The number of levels in this pyramid  | 
 FloatImage | 
smooth
The low pass residual  | 
 FloatImage[] | 
vertical
The set of vertically filtered images at different resolutions  | 
| Constructor Summary | |
|---|---|
Pyramid()
Construct an empty Pyramid  | 
|
Pyramid(int width,
        int height,
        int levels)
 | 
|
| Method Summary | |
|---|---|
 boolean | 
adaptAverage(Pyramid magPyr,
             boolean smooth)
Multiplies this by the ratio of magPyr / variance(this)  | 
 boolean | 
adaptComplexAverage(Pyramid imag,
                    Pyramid magPyr)
Treats this as the real part and imag as the imaginary part and converts the values by multiplying by the ratio of complex magnitudes  | 
 boolean | 
adaptVariance(Pyramid varPyr,
              boolean smooth)
Modifies this by multiplying by the ratio of varPyr over variance of this  | 
 boolean | 
add_to_average(Pyramid pyr,
               int n)
Add pyr to this as part of constructing an average  | 
 boolean | 
add_to_variance(Pyramid pyr,
                int n)
Adds pyr to this as part of estimating the average absolute value  | 
 boolean | 
add_to_varianceSquared(Pyramid pyr,
                       int n)
Adds pyr to this as part of estimating the variance squared  | 
 void | 
add(FloatImage image,
    int level)
 | 
 void | 
add(Pyramid pyr,
    boolean applyToSmooth)
Adds to the value of each subband of this Pyramid with the corresponding subband in the other Pyramid  | 
 boolean | 
addToComplexMagnitudeAverage(Pyramid real,
                             Pyramid imag,
                             int n)
Adds real and image to this as part of making an average magnitude  | 
 boolean | 
addWeighted(Pyramid pyr,
            float w)
Adds a weighted amount of pyr to this  | 
 void | 
build_pyramid(Filter H,
              Filter G,
              int levs)
Build a Pyramid  | 
 int | 
calculateVariance(java.util.ArrayList<Pyramid> pyr,
                  int count)
Calculates the pixelwise variance of a set of Pyramids  | 
 void | 
collapse_pyramid(Filter H,
                 Filter L1,
                 Filter K1,
                 Filter L2,
                 Filter K2,
                 int bm)
Collapse the Pyramid  | 
 void | 
convolve(Filter H)
Filter all subbands  | 
 Pyramid | 
copy(boolean copySmooth)
Create a copy of this pyramid.  | 
 void | 
copy(Pyramid pyr)
Copy the given pyramid into this, including the low pass residual  | 
 void | 
copy(Pyramid pyr,
     boolean copySmooth)
Copy the given Pyramis into this  | 
 boolean | 
copySubband(Pyramid pyr,
            int lev)
Copy a subband of the given pyramid  | 
 double | 
dotProduct(Pyramid pyr)
Dot product, each level's contribution scaled up to match largest  | 
 double | 
dotProduct(Pyramid pyr,
           FloatImage mask)
Dot product, each level's contribution scaled up to match largest  | 
 void | 
magnitude()
Convert each subband into a rectified (magnitude) image  | 
 void | 
magnitudeSquared()
Convert each subband into a rectified (magnitude squared) image  | 
static void | 
main(java.lang.String[] args)
Main method used for testing  | 
 int | 
MRFTransform(Pyramid original,
             java.util.ArrayList<Pyramid> source,
             java.util.ArrayList<Pyramid> target,
             float min,
             float max,
             int bins,
             double[] coefs,
             boolean weighted)
Pyramid based MRF transformation  | 
 boolean | 
read(java.lang.String fname)
Read a binary format FloatImage from a file  | 
static java.awt.Image | 
readPPM(java.lang.String filename)
Read a PPM image from the named file  | 
 void | 
scale(float dp)
Multiplies the values in each subband by the value specified  | 
 void | 
setImage(FloatImage img)
Set the low pass residual (at level 0) and delete the bandpass images  | 
 void | 
subtract(FloatImage image,
         int level)
 | 
 void | 
subtract(Pyramid pyr,
         boolean applyToSmooth)
Adds to the value of each subband of this Pyramid with the corresponding subband in the other Pyramid  | 
 boolean | 
transformTexture(Pyramid oldPyr,
                 Pyramid source,
                 Pyramid destination,
                 float shift)
Transform using the magnitude  | 
 boolean | 
transformTextureSquared(Pyramid oldPyr,
                        Pyramid source,
                        Pyramid destination,
                        float shift)
Performs a texture transform using the squared magnitude values.  | 
 boolean | 
write(java.io.File f)
 | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public FloatImage smooth
public FloatImage[] horizontal
public FloatImage[] vertical
public int levels
| Constructor Detail | 
|---|
public Pyramid()
public Pyramid(int width,
               int height,
               int levels)
| Method Detail | 
|---|
public void setImage(FloatImage img)
img - the image to set
public void copy(Pyramid pyr,
                 boolean copySmooth)
pyr - the Pyramid to copycopySmooth - boolean indicating if the low pass residual should also be copiedpublic void copy(Pyramid pyr)
pyr - the Pyramid to copypublic Pyramid copy(boolean copySmooth)
copySmooth - boolean indicating if the low pass residual should also be copied
public boolean copySubband(Pyramid pyr,
                           int lev)
pyr - the pyramid to copylev - the subband to copy
public void build_pyramid(Filter H,
                          Filter G,
                          int levs)
H - the low-pass filterG - the high pass filterlevs - the number of levels to build
public void collapse_pyramid(Filter H,
                             Filter L1,
                             Filter K1,
                             Filter L2,
                             Filter K2,
                             int bm)
H - the low-pass filterL1 - the parallel even pixel filterK1 - the orthogonal even pixel filterL2 - the parallel odd pixel filterK2 - the orthogonal odd pixel filterbm - the border model to use in the parallel directionpublic void magnitude()
public void magnitudeSquared()
public boolean add_to_variance(Pyramid pyr,
                               int n)
pyr - the pyramid to addn - the number of pyramids that have been added previously
public boolean add_to_varianceSquared(Pyramid pyr,
                                      int n)
pyr - the pyramid to addn - the number of pyramids that have been added previously
public boolean addToComplexMagnitudeAverage(Pyramid real,
                                            Pyramid imag,
                                            int n)
real - the real pyramid to addimag - the imaginary pyramid to addn - the number of pyramids that have been added previously
public boolean add_to_average(Pyramid pyr,
                              int n)
pyr - the pyramid to addn - the number of pyramids that have been added previously
public boolean addWeighted(Pyramid pyr,
                           float w)
pyr - the pyramid to addw - the weight to use
public void convolve(Filter H)
H - the filter to use
public boolean adaptAverage(Pyramid magPyr,
                            boolean smooth)
magPyr - the desired variancesmooth - flag indicating if magPyr should be smoothed
public boolean adaptVariance(Pyramid varPyr,
                             boolean smooth)
varPyr - the desired variancesmooth - flag indicating if varPyr should be smoothed
public boolean adaptComplexAverage(Pyramid imag,
                                   Pyramid magPyr)
imag - the imaginary componentsmagPyr - the target magnitude pyramid
public boolean transformTexture(Pyramid oldPyr,
                                Pyramid source,
                                Pyramid destination,
                                float shift)
oldPyr - the pyramid of the original (not-texture transformed) imagesource - the pyramid of the source averagedestination - the pyramid of the destination pyramidshift - the amount to transform by
public boolean transformTextureSquared(Pyramid oldPyr,
                                       Pyramid source,
                                       Pyramid destination,
                                       float shift)
oldPyr - the Pyramid decomposition before the colour transform was appliedsource - the source average pyramiddestination - the detination average pyramidshift - the amount to transform by
public int calculateVariance(java.util.ArrayList<Pyramid> pyr,
                             int count)
pyr - the set of pyramidscount - the number of pyramids
public int MRFTransform(Pyramid original,
                        java.util.ArrayList<Pyramid> source,
                        java.util.ArrayList<Pyramid> target,
                        float min,
                        float max,
                        int bins,
                        double[] coefs,
                        boolean weighted)
original - the original image pyramidsource - the (warped) source image pyramidstarget - the (warped) target image pyramidsmin - the minimum value to put in the histogramsmax - the maximum value to hold in the histogramsbins - the number of bins
public boolean read(java.lang.String fname)
fname - The name of the file to read
public boolean write(java.io.File f)
public double dotProduct(Pyramid pyr)
pyr - the Pyramid to dot product with
public double dotProduct(Pyramid pyr,
                         FloatImage mask)
pyr - the Pyramid to dot product withmask - the mask to use
public void scale(float dp)
dp - the scale factor
public void add(Pyramid pyr,
                boolean applyToSmooth)
pyr - The pyramid to add to this one.applyToSmooth - IF true the apply the addition to the smoothed image as well
public void add(FloatImage image,
                int level)
public void subtract(Pyramid pyr,
                     boolean applyToSmooth)
pyr - The pyramid to add to this one.applyToSmooth - IF true the apply the addition to the smoothed image as well
public void subtract(FloatImage image,
                     int level)
public static java.awt.Image readPPM(java.lang.String filename)
filename - the name of the file to read from
public static void main(java.lang.String[] args)
args - 
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||