| java.lang.Object javax.media.jai.OperationDescriptorImpl ca.forklabs.media.jai.operator.KMeansDescriptor
KMeansDescriptor | public class KMeansDescriptor extends OperationDescriptorImpl (Code) | | Class
KMeansDescriptor is an
OperationDescriptor describing
the kmeans operation. This operation performs applies the
k-means on the
given source images.
The kmeans operation takes two parameter: - the number of cluster,
- and optional evaluation function (defaults to taking the color components
for the vector to partition), - an optional number of iteration (defaults to
100) and - an optional color map (defaults to the center of the
cluster).
Resource List
Name | Value |
GlobalName | kmeans |
LocalName | kmeans |
Vendor | ca.forklabs.media.jai.opimage |
Description | K-means algorithm |
DocURL | n/a |
Version | $Version$ |
Arg0Desct | The number of clusters |
Arg1Desct | The evaluation function (optional) |
Arg2Desct | The maximum number of iteration (optional) |
Arg3Desct | A new color map (optional) |
Parameter List
Name | Class Type | Default Value |
clusters | Integer | NO_PARAMETER_DEFAULT |
function | KMeansDescriptor.EvaluationFunction | new KMeansDescriptor.ColorEvaluationFunction |
iterations | Integer | 100 |
colormap | int[][] | the cluster order |
This operators works in
rendered mode only.
author: Daniel Léonard version: $Revision: 1.2 $ |
Inner Class :public static interface EvaluationFunction extends BinaryFunction<double[], RandomIter, Point> | |
Inner Class :public static class ColorEvaluationFunction implements EvaluationFunction | |
Method Summary | |
public static RenderedOp | create(RenderedImage source, int clusters, KMeansDescriptor.EvaluationFunction function, int iterations, int[][] colormap, RenderingHints hints) Creates a rendered image.
Parameters: source - the source image. Parameters: clusters - the number of clusters. Parameters: function - the evaluation function. Parameters: iterations - the maximum number of iterations (0 willuse the default value). Parameters: colormap - the color map ( null will use the default colormap). Parameters: hints - the rendering hints, may be null . | protected int[][] | createDefaultColorMap(int clusters, int bands) Creates the default color map.
Parameters: clusters - the number of clusters. Parameters: bands - the number of bands. | public static ParameterBlockJAI | createParameterBlock(String mode, Object source, int clusters, KMeansDescriptor.EvaluationFunction function, int iterations, int[][] colormap) Creates and fills a new parameter block.
Parameters: mode - the rendering mode. Parameters: source - the source image. Parameters: clusters - the number of clusters. Parameters: function - the evaluation function. Parameters: iterations - the maximum number of iterations (0 willuse the default value). Parameters: colormap - the color map ( null will use the default colormap). | protected static String | getArg0Description() Gets the description for the first argument, the number of clusters. | protected static String | getArg1Description() | protected static String | getArg2Description() Gets the description for the second argument, the maximum number of
iterations. | protected static String | getArg3Description() Gets the description for the third argument, the color map. | protected String | getBandsDoNotMatchErrorMessage(int expected, int got) Gets the error message telling that the number of bands in the color
map do not match the number of bands in the source image.
Parameters: expected - the number of bands in the image. Parameters: got - the number of bands in the color map. | protected String | getClustersDoNotMatchErrorMessage(int expected, int got) Gets the error message telling that the number of clusters in the color
map do not match the number of clusters.
Parameters: expected - the number of clusters. Parameters: got - the number of clusters in the color map. | protected String | getColorMapNotRectangularErrorMessage(int expected, int got) Gets the error message telling that not all colors in the color map have
the same number of bands.
Parameters: expected - one number of bands. Parameters: got - another number of bands. | protected static String | getDescription() Gets the description of this operation. | protected boolean | validateColorMap(String mode, ParameterBlock pb, StringBuffer sb) Validates the color map. | protected boolean | validateEvaluationFunction(String mode, ParameterBlock pb, StringBuffer sb) Validates the evaluation function. | public boolean | validateParameters(String mode, ParameterBlock pb, StringBuffer sb) Validates that the colormap parameter matches the number of bands
in the image and the number of clusters.
Parameters: mode - the rendering mode. Parameters: pb - the parameter block. Parameters: sb - the error message buffer. |
CLUSTER_PARAMETER_INDEX | final public static int CLUSTER_PARAMETER_INDEX(Code) | | The index in the parameter block of the number of cluster parameter.
|
CLUSTER_PARAMETER_NAME | final public static String CLUSTER_PARAMETER_NAME(Code) | | The name of the number of cluster parameter.
|
COLOR_MAP_PARAMETER_INDEX | final public static int COLOR_MAP_PARAMETER_INDEX(Code) | | The index in the parameter block of the color map parameter.
|
COLOR_MAP_PARAMETER_NAME | final public static String COLOR_MAP_PARAMETER_NAME(Code) | | The name of the color map parameter.
|
EVALUATION_FUNCTION_PARAMETER_INDEX | final public static int EVALUATION_FUNCTION_PARAMETER_INDEX(Code) | | The index in the parameter block of the evaluation function parameter.
|
EVALUATION_FUNCTION_PARAMETER_NAME | final public static String EVALUATION_FUNCTION_PARAMETER_NAME(Code) | | The name of the number of evaluation function parameter.
|
ITERATIONS_DEFAULT_VALUE | final public static int ITERATIONS_DEFAULT_VALUE(Code) | | The default value for the number of iterations, arbitrarily 100.
|
ITERATIONS_PARAMETER_INDEX | final public static int ITERATIONS_PARAMETER_INDEX(Code) | | The index in the parameter block of the iterations parameter.
|
ITERATIONS_PARAMETER_NAME | final public static String ITERATIONS_PARAMETER_NAME(Code) | | The name of the number of iterations parameter.
|
NAME | final public static String NAME(Code) | | The name of this operator.
|
KMeansDescriptor | public KMeansDescriptor()(Code) | | Constructor.
|
create | public static RenderedOp create(RenderedImage source, int clusters, KMeansDescriptor.EvaluationFunction function, int iterations, int[][] colormap, RenderingHints hints)(Code) | | Creates a rendered image.
Parameters: source - the source image. Parameters: clusters - the number of clusters. Parameters: function - the evaluation function. Parameters: iterations - the maximum number of iterations (0 willuse the default value). Parameters: colormap - the color map ( null will use the default colormap). Parameters: hints - the rendering hints, may be null . the new image. |
createDefaultColorMap | protected int[][] createDefaultColorMap(int clusters, int bands)(Code) | | Creates the default color map.
Parameters: clusters - the number of clusters. Parameters: bands - the number of bands. the default color map. |
createParameterBlock | public static ParameterBlockJAI createParameterBlock(String mode, Object source, int clusters, KMeansDescriptor.EvaluationFunction function, int iterations, int[][] colormap)(Code) | | Creates and fills a new parameter block.
Parameters: mode - the rendering mode. Parameters: source - the source image. Parameters: clusters - the number of clusters. Parameters: function - the evaluation function. Parameters: iterations - the maximum number of iterations (0 willuse the default value). Parameters: colormap - the color map ( null will use the default colormap). a new parameter block. |
getArg0Description | protected static String getArg0Description()(Code) | | Gets the description for the first argument, the number of clusters.
the description message. |
getArg1Description | protected static String getArg1Description()(Code) | | |
getArg2Description | protected static String getArg2Description()(Code) | | Gets the description for the second argument, the maximum number of
iterations.
the description message. |
getArg3Description | protected static String getArg3Description()(Code) | | Gets the description for the third argument, the color map.
the description message. |
getBandsDoNotMatchErrorMessage | protected String getBandsDoNotMatchErrorMessage(int expected, int got)(Code) | | Gets the error message telling that the number of bands in the color
map do not match the number of bands in the source image.
Parameters: expected - the number of bands in the image. Parameters: got - the number of bands in the color map. the error message. |
getClustersDoNotMatchErrorMessage | protected String getClustersDoNotMatchErrorMessage(int expected, int got)(Code) | | Gets the error message telling that the number of clusters in the color
map do not match the number of clusters.
Parameters: expected - the number of clusters. Parameters: got - the number of clusters in the color map. the error message. |
getColorMapNotRectangularErrorMessage | protected String getColorMapNotRectangularErrorMessage(int expected, int got)(Code) | | Gets the error message telling that not all colors in the color map have
the same number of bands.
Parameters: expected - one number of bands. Parameters: got - another number of bands. the error message. |
getDescription | protected static String getDescription()(Code) | | Gets the description of this operation.
the description message. |
validateColorMap | protected boolean validateColorMap(String mode, ParameterBlock pb, StringBuffer sb)(Code) | | Validates the color map. It checks that the color map has the same number
of color as the number of clusters and that each color has the same number
of components as the source image.
Parameters: mode - ignored. Parameters: pb - the parameter block. Parameters: sb - the error message buffer. true if the color map is correct, false otherwise. |
validateEvaluationFunction | protected boolean validateEvaluationFunction(String mode, ParameterBlock pb, StringBuffer sb)(Code) | | Validates the evaluation function. That is, put the default evaluation
function in the parameter block if the value of the parameter is
null .
Parameters: mode - ignored. Parameters: pb - the parameter block. Parameters: sb - ignored. always true . |
validateParameters | public boolean validateParameters(String mode, ParameterBlock pb, StringBuffer sb)(Code) | | Validates that the colormap parameter matches the number of bands
in the image and the number of clusters.
Parameters: mode - the rendering mode. Parameters: pb - the parameter block. Parameters: sb - the error message buffer. true if all is OK, false otherwise. |
Methods inherited from javax.media.jai.OperationDescriptorImpl | public boolean arePropertiesSupported()(Code)(Java Doc) protected static Class getDefaultSourceClass(String modeName)(Code)(Java Doc) public Class getDestClass(String modeName)(Code)(Java Doc) public Class getDestClass()(Code)(Java Doc) public Object getInvalidRegion(String modeName, ParameterBlock oldParamBlock, RenderingHints oldHints, ParameterBlock newParamBlock, RenderingHints newHints, OperationNode node)(Code)(Java Doc) public String getName()(Code)(Java Doc) public int getNumParameters()(Code)(Java Doc) public int getNumSources()(Code)(Java Doc) public Class[] getParamClasses()(Code)(Java Doc) public Object getParamDefaultValue(int index)(Code)(Java Doc) public Object[] getParamDefaults()(Code)(Java Doc) public Number getParamMaxValue(int index)(Code)(Java Doc) public Number getParamMinValue(int index)(Code)(Java Doc) public String[] getParamNames()(Code)(Java Doc) public ParameterListDescriptor getParameterListDescriptor(String modeName)(Code)(Java Doc) public PropertyGenerator[] getPropertyGenerators(String modeName)(Code)(Java Doc) public PropertyGenerator[] getPropertyGenerators()(Code)(Java Doc) public Class getRenderableDestClass()(Code)(Java Doc) public Class[] getRenderableSourceClasses()(Code)(Java Doc) public ResourceBundle getResourceBundle(Locale locale)(Code)(Java Doc) public String[][] getResources(Locale locale)(Code)(Java Doc) public Class[] getSourceClasses(String modeName)(Code)(Java Doc) public Class[] getSourceClasses()(Code)(Java Doc) public String[] getSourceNames()(Code)(Java Doc) public String[] getSupportedModes()(Code)(Java Doc) public boolean isImmediate()(Code)(Java Doc) public boolean isModeSupported(String modeName)(Code)(Java Doc) public boolean isRenderableSupported()(Code)(Java Doc) public boolean isRenderedSupported()(Code)(Java Doc) protected static Class[][] makeDefaultSourceClassList(String[] supportedModes, int numSources)(Code)(Java Doc) public boolean validateArguments(String modeName, ParameterBlock args, StringBuffer msg)(Code)(Java Doc) public boolean validateArguments(ParameterBlock args, StringBuffer msg)(Code)(Java Doc) protected boolean validateParameters(String modeName, ParameterBlock args, StringBuffer msg)(Code)(Java Doc) protected boolean validateParameters(ParameterBlock args, StringBuffer msg)(Code)(Java Doc) public boolean validateRenderableArguments(ParameterBlock args, StringBuffer msg)(Code)(Java Doc) protected boolean validateRenderableSources(ParameterBlock args, StringBuffer msg)(Code)(Java Doc) protected boolean validateSources(String modeName, ParameterBlock args, StringBuffer msg)(Code)(Java Doc) protected boolean validateSources(ParameterBlock args, StringBuffer msg)(Code)(Java Doc)
|
|
|