| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectFacemorph.Warp
public abstract class Warp
Base warping class
| Field Summary | |
|---|---|
 int | 
height
The height of the warping function  | 
static int | 
LINEAR
Linear warp constant  | 
static int | 
MULTISCALE
Multiscale (affine) warp constant  | 
static int | 
MULTISCALERB
Multiscale (rigid body)warp constant  | 
static int | 
TPS
Thin plate spline warp constant  | 
 int | 
width
The width of the warping function  | 
 float[] | 
xshift
The array of xshifts  | 
 float[] | 
yshift
The array of y-shifts  | 
| Constructor Summary | |
|---|---|
Warp()
Construct an empty warp  | 
|
| Method Summary | |
|---|---|
 void | 
concatenate(Warp warp)
Concatenates warp with this  | 
 void | 
concatenate(Warp warp1,
            Warp warp2)
Concatenates the two warps and puts the result in this  | 
 void | 
convert(FloatImage Wx,
        FloatImage Wy)
Converts this warp into the two FloatImages  | 
static Warp | 
createWarp(int type,
           int w,
           int h,
           int ow,
           int oh,
           boolean r)
Factory method for creating a warp of the specified type  | 
 float[] | 
get(int x,
    int y)
Gets the value of this warp at (x,y)  | 
 int | 
getHeight()
Gets the height of this warp  | 
 int | 
getWidth()
Gets the width of this warp  | 
abstract  boolean | 
interpolate(int n,
            java.awt.geom.Point2D.Float[] source,
            java.awt.geom.Point2D.Float[] dest,
            boolean borders)
Method to interpolate the warping function  | 
 boolean | 
interpolate(int n,
            java.awt.geom.Point2D.Float[] source,
            java.awt.geom.Point2D.Float[] dest,
            boolean borders,
            boolean overlap)
Interpolates the given 2D values across the 2D space, by performing setup then calling interpolate()  | 
 boolean | 
interpolate(Template tmp1,
            Template tmp2,
            boolean sample,
            boolean borders)
Interpolate this warping function from tmp1 to tmp2  | 
 boolean | 
interpolate(Template tmp1,
            Template tmp2,
            boolean sample,
            boolean borders,
            boolean overlap)
Interpolate this warping function from tmp1 to tmp2  | 
 int | 
iterate(int n,
        java.awt.geom.Point2D.Float[] source,
        java.awt.geom.Point2D.Float[] dest,
        Warp tmp,
        float minJ,
        boolean borders)
Implements an overlap control algorithm  | 
 float | 
overlap(float minJ)
Calculates the scaling parameter to ensure the Jacobean >= minJ and applies (if less than 1) it to this warp  | 
 void | 
reconvert(FloatImage Wx,
          FloatImage Wy)
Converts the warp sepcified as two float images into this  | 
 float[] | 
sample(float x,
       float y)
Samples this warp at non-intege pixels using bi-linear interpolation  | 
static java.awt.Color | 
sample(int[] pix,
       int width,
       int height,
       float x,
       float y)
Sample from a non-integer point in an image (as an int array) using linear interpolated sampling  | 
 void | 
scaleWarp(float scaleFactor)
Scales a warp by the amount specified  | 
 void | 
set(int x,
    int y,
    float X,
    float Y)
Sets the value of this warp at the specified point  | 
 int | 
stripPoints(java.awt.geom.Point2D.Float[] source,
            java.awt.geom.Point2D.Float[] dest,
            java.awt.geom.Point2D.Float[] newSource,
            java.awt.geom.Point2D.Float[] newDest,
            int n,
            int w1,
            int h1,
            int w2,
            int h2)
Removes points from both lists that are outside the image borders of their respective images  | 
 FloatImage | 
warpFloatImage(FloatImage fimg)
Warp a FloatImage using this warping function  | 
 java.awt.image.BufferedImage | 
warpImage(java.awt.image.BufferedImage img)
Warp an image using this warping function  | 
 java.awt.Image | 
warpImage(java.awt.Image img,
          java.awt.image.ImageObserver ob)
Warp an image using this warping function  | 
 int[] | 
warpImage(java.awt.Image img,
          int twidth,
          int theight)
Warp an image using this warping function  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public float[] xshift
public float[] yshift
public int width
public int height
public static final int MULTISCALE
public static final int LINEAR
public static final int TPS
public static final int MULTISCALERB
| Constructor Detail | 
|---|
public Warp()
| Method Detail | 
|---|
public static Warp createWarp(int type,
                              int w,
                              int h,
                              int ow,
                              int oh,
                              boolean r)
type - the type of warp to make, one of MULTISCALE, LINEAR, TPS or MULTISCALERBw - the output widthh - the output heightow - the input widthoh - the input heightr - indicates reverse of the triangulation (i.e. triangulate the output not the input)
public boolean interpolate(int n,
                           java.awt.geom.Point2D.Float[] source,
                           java.awt.geom.Point2D.Float[] dest,
                           boolean borders,
                           boolean overlap)
n - The number of constraints to interpolatesource - The array of start pointsdest - The array of end pointsborders - Specifies whether to fix the points on the bordersoverlap - indicates that overlap control should be used
public boolean interpolate(Template tmp1,
                           Template tmp2,
                           boolean sample,
                           boolean borders,
                           boolean overlap)
tmp1 - Source templatetmp2 - target templatesample - should the contour samples be used, or just the control pointsborders - Should we pin the border downoverlap - indicates that overlap control should be used
public int getWidth()
public int getHeight()
public float[] get(int x,
                   int y)
x - The x-coordy - The y-coord
public void set(int x,
                int y,
                float X,
                float Y)
x - The x-coordy - The y-coordX - The X valueY - The Y value
public abstract boolean interpolate(int n,
                                    java.awt.geom.Point2D.Float[] source,
                                    java.awt.geom.Point2D.Float[] dest,
                                    boolean borders)
n - The number of constraintssource - The start pointsdest - The target pointsborders - if true fix the borders
public boolean interpolate(Template tmp1,
                           Template tmp2,
                           boolean sample,
                           boolean borders)
tmp1 - Source templatetmp2 - target templatesample - should the contour samples be used, or just the control pointsborders - Should we pin the border down
public int stripPoints(java.awt.geom.Point2D.Float[] source,
                       java.awt.geom.Point2D.Float[] dest,
                       java.awt.geom.Point2D.Float[] newSource,
                       java.awt.geom.Point2D.Float[] newDest,
                       int n,
                       int w1,
                       int h1,
                       int w2,
                       int h2)
source - List of source pointsdest - List of destination pointsnewSource - output source point listnewDest - output de3stination point listn - the number of input pointsw1 - he width of image 1h1 - The height of image 1w2 - The width of image 2h2 - The height of image 2
public static java.awt.Color sample(int[] pix,
                                    int width,
                                    int height,
                                    float x,
                                    float y)
pix - An array of the images pixels as RGB intswidth - The width of the imageheight - The height of theimagex - The x-coord of the sample pointy - Te y-coord of the sample point
public float[] sample(float x,
                      float y)
x - the x-coord to sampley - the y-coord to sample
public int[] warpImage(java.awt.Image img,
                       int twidth,
                       int theight)
img - The image to warptwidth - The width of the input imagetheight - The height of the input image
public java.awt.Image warpImage(java.awt.Image img,
                                java.awt.image.ImageObserver ob)
img - The image to warpob - An image observer object
public java.awt.image.BufferedImage warpImage(java.awt.image.BufferedImage img)
img - The image to warp
public FloatImage warpFloatImage(FloatImage fimg)
fimg - The image to warp
public void concatenate(Warp warp)
warp - the warp to concatenate
public void concatenate(Warp warp1,
                        Warp warp2)
warp1 - the first warpwarp2 - the second warp
public void convert(FloatImage Wx,
                    FloatImage Wy)
Wx - the output x shiftsWy - the output y shifts
public void reconvert(FloatImage Wx,
                      FloatImage Wy)
Wx - warp x-componentWy - warp y component
public int iterate(int n,
                   java.awt.geom.Point2D.Float[] source,
                   java.awt.geom.Point2D.Float[] dest,
                   Warp tmp,
                   float minJ,
                   boolean borders)
n - number of pointssource - source pointsdest - target pointstmp - tempory warp workspaceminJ - minimum allowed value of the Jacobean in any partial warpborders - indicates if borders should be pinned down
public float overlap(float minJ)
minJ - the minimum allowed value of the Jacobean
public void scaleWarp(float scaleFactor)
scaleFactor - the scale factor to apply to this warp
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||