cz.cuni.jagrlib.piece
Class ImageKDTree

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

public class ImageKDTree
extends Piece
implements KDTree

K-D-tree coding of raster images. Suitable also for Delaynay vertex encoding (intermediate data are stored in RasterGraphics).

Since:
0.26
See Also:
ImageKDTree.java

Nested Class Summary
 
Nested classes/interfaces inherited from interface cz.cuni.jagrlib.iface.KDTree
KDTree.IntNode
 
Field Summary
protected static java.lang.String CATEGORY
          Object category.
protected  boolean colorDimension
          Use sample color as the 3rd dimension?
protected  RasterGraphics image
          Accelerator: attached raster image.
protected  int mode
          Construction mode.
static RegPiece reg
          Static registration instance for this class.
protected  KDTree.IntNode root
          K-D-tree root node.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
static java.lang.String USE_COLOR
           
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.KDTree
CONSTRUCTION_MODE, MODE_BREADTH_BALANCED, MODE_SPACE_BALANCED, USE_MEDIAN
 
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
ImageKDTree()
           
 
Method Summary
protected  KDTree.IntNode boxSpaceBalanced3D(KDTree.IntNode node, int[] col)
          Recursively build subordinate nodes..
protected  void buildSpaceBalanced3D()
          Builds space-balanced K-D-tree from the attached raster image.
 void buildTree()
          Builds the K-D-tree using actual settings.
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 KDTree.IntNode getIntRoot()
          Returns actual root node.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
 void setRoot(KDTree.IntNode r)
          Tree is assigned from externally prepared data.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
protected  void utilize3D(KDTree.IntNode node, int[] col)
          Recursively utilize the given sub-tree.
 void utilizeTree(KDTree.IntNode r)
          Utilize (use) the given tree.
 
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

mode

protected int mode
Construction mode.


colorDimension

protected boolean colorDimension
Use sample color as the 3rd dimension?


root

protected KDTree.IntNode root
K-D-tree root node.


image

protected RasterGraphics image
Accelerator: attached raster image.


USE_COLOR

public static final java.lang.String USE_COLOR
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

ImageKDTree

public ImageKDTree()
Method Detail

boxSpaceBalanced3D

protected KDTree.IntNode boxSpaceBalanced3D(KDTree.IntNode node,
                                            int[] col)
Recursively build subordinate nodes..


buildSpaceBalanced3D

protected void buildSpaceBalanced3D()
Builds space-balanced K-D-tree from the attached raster image. Sample-color is used as the 3rd dimension => it is splitted the same way spatial dimensions are..


utilize3D

protected void utilize3D(KDTree.IntNode node,
                         int[] col)
Recursively utilize the given sub-tree.


buildTree

public void buildTree()
Builds the K-D-tree using actual settings. Uses actual construction-settings.

Specified by:
buildTree in interface KDTree
See Also:
mode, colorDimension

getIntRoot

public KDTree.IntNode getIntRoot()
Returns actual root node.

Specified by:
getIntRoot in interface KDTree

setRoot

public void setRoot(KDTree.IntNode r)
Tree is assigned from externally prepared data.

Specified by:
setRoot in interface KDTree
Parameters:
r - The new root node.

utilizeTree

public void utilizeTree(KDTree.IntNode r)
Utilize (use) the given tree. There is possibility to enter the tree externally..

Specified by:
utilizeTree in interface KDTree
Parameters:
r - The root node or null if internal tree should be used.

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.