cz.cuni.jagrlib.piece
Class ImageCompare

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.DefaultRealFunction
              extended by cz.cuni.jagrlib.piece.ImageCompare
All Implemented Interfaces:
Breakable, Property, RealFunction, Template

public class ImageCompare
extends DefaultRealFunction

Raster image comparison.

Since:
0.24
See Also:
ImageCompare.java

Nested Class Summary
protected static class ImageCompare.FilterPrecinct
          Implemented filter precincts.
protected static class ImageCompare.MetricType
          Implemented metric types.
 
Field Summary
protected static java.lang.String CATEGORY
          Object category.
protected  int[][] filter
          Filter matrix (odd size .. 2*iRadius+1).
static java.lang.String FILTER_PRECINCT
           
static java.lang.String FILTER_RADIUS
           
protected  int filterSum
          Total sum of filter values.
protected  int filterSumHalf
          Accelerator (filterSum / 2).
protected  int iRadius
          Integer radius of the filter support.
protected  ImageCompare.MetricType metric
          Actual metric type.
static java.lang.String METRIC_TYPE
           
protected  int[] pixel
          Support pixel array (for filterRGB(cz.cuni.jagrlib.iface.RasterGraphics, int, int, int[]) routines).
protected  double[] pixeld
          Support pixel array (for filterRGB(cz.cuni.jagrlib.iface.RasterGraphics, int, int, int[]) routines).
protected  ImageCompare.FilterPrecinct precinct
          Actual filter precinct.
protected  boolean psychovisual
          Psychovisual color-component factors are used?
static java.lang.String PSYCHOVISUAL
           
protected  double radius
          Filter support radius in pixels.
static RegPiece reg
          Static registration instance for this class.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
 
Fields inherited from class cz.cuni.jagrlib.DefaultRealFunction
EPSILON
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.RealFunction
AMPLITUDE, FREQUENCY, FREQUENCY_X, FREQUENCY_Y, VARIATION
 
Fields inherited from interface cz.cuni.jagrlib.iface.Property
LOGGING, STATISTICS, TEXT_DESCRIPTION
 
Fields inherited from interface cz.cuni.jagrlib.Template
ALL_PLUGS, C_1D, C_2D, C_3D, C_ALPHA, C_BINARY, C_BREP, C_CAMERA, C_CIRCLE, C_CLIP, C_COMPRESSION, C_CURVE, C_DATA, C_DRAW, C_EDITOR, C_ELLIPSE, C_FILL, C_FILTER, C_FLOAT, C_FUNCTION, C_IMAGE, C_INTEGER, C_IO, C_LIGHT, C_LINE, C_METRIC, C_POLYGON, C_PROJECTION, C_RADIOSITY, C_RASTER, C_RENDER, C_SAMPLE, C_SCENE, C_SET, C_SOLID, C_TEXT, C_TRANSFORM, C_VECTOR, C_VIEWER, C_WORKER, CAT_EMPTY, EMPTY, IFACE, JAGRLIB, JAGRLIB2, MANIPULATOR_COMBO, MANIPULATOR_CUSTOM, MANIPULATOR_DEFAULT, MANIPULATOR_MULTILINE, PL_ALPHAMASK, PL_BITMASK, PL_CAUSTIC, PL_CODEC, PL_COLORMAP, PL_COMPARE, PL_DATA, PL_DIRECT, PL_EDITOR, PL_FILTER, PL_FUNCTION, PL_IMAGE, PL_IMPORT, PL_INPUT, PL_INTERSECTION, PL_LIGHTSOURCE, PL_ORDER, PL_OUTPUT, PL_PALETTE, PL_PHOTON, PL_PROPERTY, PL_QUANTIZER, PL_RASTER, PL_RENDER, PL_SHADOW, PL_STREAM, PL_TRANSFORM, PL_TRIGGER, PL_VOLUME, PL_WINDOW, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_OBJECT, TYPE_STRING
 
Constructor Summary
ImageCompare()
           
 
Method Summary
 double f(double x)
          Compute the mapping: int -> double.
 double f(int x)
          Compute the mapping: int -> double.
protected  void filterRGB(RasterGraphics im, int i, int j, double[] pix)
          Filters the given image pixel using prepared convolution filter..
protected  void filterRGB(RasterGraphics im, int i, int j, int[] pix)
          Filters the given image pixel using prepared convolution filter..
 java.lang.Object get(java.lang.String key)
          Gets the given property.
protected  void initFilter()
          Initialize (prepare) filter operation.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 
Methods inherited from class cz.cuni.jagrlib.DefaultRealFunction
df, df, df, df, f, f, f, f, f, f, getDomain, getDomain
 
Methods inherited from class cz.cuni.jagrlib.Piece
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, init, isCompatible, isCompatible, isConnected, logError, logWarning, myInterface, newInputPlug, newOptOutputPlug, newOutputPlug, newPlug, noTemplates, propBegin, propBounds, propDefault, propEnd, propEnum, propManipulator, propManipulator, setProgressListener, setRegStrings, setTemplateDynamic, stop
 
Methods inherited from class cz.cuni.jagrlib.DefaultProperty
booleanProperty, booleanProperty, colorDoubleProperty, colorProperty, commit, doubleProperty, doubleProperty, doubleProperty, enumProperty, floatProperty, floatProperty, floatProperty, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, stringProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface cz.cuni.jagrlib.iface.Property
commit
 

Field Detail

precinct

protected ImageCompare.FilterPrecinct precinct
Actual filter precinct.


radius

protected double radius
Filter support radius in pixels.


metric

protected ImageCompare.MetricType metric
Actual metric type.


psychovisual

protected boolean psychovisual
Psychovisual color-component factors are used?


iRadius

protected int iRadius
Integer radius of the filter support.


filter

protected int[][] filter
Filter matrix (odd size .. 2*iRadius+1).


filterSum

protected int filterSum
Total sum of filter values.


filterSumHalf

protected int filterSumHalf
Accelerator (filterSum / 2).


pixel

protected int[] pixel
Support pixel array (for filterRGB(cz.cuni.jagrlib.iface.RasterGraphics, int, int, int[]) routines).


pixeld

protected double[] pixeld
Support pixel array (for filterRGB(cz.cuni.jagrlib.iface.RasterGraphics, int, int, int[]) routines).


FILTER_PRECINCT

public static final java.lang.String FILTER_PRECINCT
See Also:
Constant Field Values

FILTER_RADIUS

public static final java.lang.String FILTER_RADIUS
See Also:
Constant Field Values

METRIC_TYPE

public static final java.lang.String METRIC_TYPE
See Also:
Constant Field Values

PSYCHOVISUAL

public static final java.lang.String PSYCHOVISUAL
See Also:
Constant Field Values

TEMPLATE_NAME

protected static final java.lang.String TEMPLATE_NAME
Object template identifier.

See Also:
Constant Field Values

CATEGORY

protected static final java.lang.String CATEGORY
Object category.

See Also:
Constant Field Values

reg

public static final RegPiece reg
Static registration instance for this class. Automatically initialized in class-loading time.

Constructor Detail

ImageCompare

public ImageCompare()
Method Detail

initFilter

protected void initFilter()
Initialize (prepare) filter operation.


filterRGB

protected void filterRGB(RasterGraphics im,
                         int i,
                         int j,
                         int[] pix)
Filters the given image pixel using prepared convolution filter..


filterRGB

protected void filterRGB(RasterGraphics im,
                         int i,
                         int j,
                         double[] pix)
Filters the given image pixel using prepared convolution filter..


f

public double f(int x)
Compute the mapping: int -> double.

Specified by:
f in interface RealFunction
Overrides:
f in class DefaultRealFunction

f

public double f(double x)
Compute the mapping: int -> double.

Specified by:
f in interface RealFunction
Overrides:
f in class DefaultRealFunction

set

public void set(java.lang.String key,
                java.lang.Object value)
Sets the given property.

Specified by:
set in interface Property
Overrides:
set in class DefaultProperty
Parameters:
key - Key string.
value - The new value.
See Also:
Property.commit()

get

public java.lang.Object get(java.lang.String key)
Gets the given property.

Specified by:
get in interface Property
Overrides:
get in class DefaultProperty
Parameters:
key - Key string.
Returns:
The actual value or null.

setTemplate

public static int setTemplate(Template t,
                              int ord)
General-purpose registration routine. Sets all plugs, strings, etc. to the given Template.