/*
* Copyright 2005, 2009 Cosmin Basca.
* e-mail: cosmin.basca@gmail.com
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* Please see COPYING for the complete licence.
*/
package robo.vision;
// JAI
import java.awt.image.renderable.RenderedImageFactory;
import javax.media.jai.JAI;
import javax.media.jai.OperationRegistry;
import javax.media.jai.registry.RIFRegistry;
public class JAIOperatorRegister
{
private static OperationRegistry opRegistry;
static
{
registerOperators();
}
public static void registerOperators()
{
opRegistry = JAI.getDefaultInstance().getOperationRegistry();
try
{
RenderedImageFactory rif = null;
String operationName = null;
//*********************************************************************
//******** houghlines
//*********************************************************************
HoughLinesDescriptor linesDescriptor = new HoughLinesDescriptor();
operationName = "houghlines";
rif = linesDescriptor;
opRegistry.registerDescriptor(linesDescriptor);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** houghcircles
//*********************************************************************
HoughCirclesDescriptor circlesDescriptor = new HoughCirclesDescriptor();
operationName = "houghcircles";
rif = circlesDescriptor;
opRegistry.registerDescriptor(circlesDescriptor);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** houghellipses
//*********************************************************************
HoughEllipseDescriptor ellipseDescriptor = new HoughEllipseDescriptor();
operationName = "houghellipses";
rif = ellipseDescriptor;
opRegistry.registerDescriptor(ellipseDescriptor);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** cannyedge
//*********************************************************************
CannyEdgeDescriptor cannyedgeDescriptor = new CannyEdgeDescriptor();
operationName = "cannyedge";
rif = cannyedgeDescriptor;
opRegistry.registerDescriptor(cannyedgeDescriptor);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** binarythreshold
//*********************************************************************
BinaryThresholdDescriptor bThreshDescriptor = new BinaryThresholdDescriptor();
operationName = "binarythreshold";
rif = bThreshDescriptor;
opRegistry.registerDescriptor(bThreshDescriptor);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** adaptivethreshold
//*********************************************************************
AdaptiveThresholdDescriptor adThreshDescriptor = new AdaptiveThresholdDescriptor();
operationName = "adaptivethreshold";
rif = adThreshDescriptor;
opRegistry.registerDescriptor(adThreshDescriptor);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** stentifordthinning
//*********************************************************************
StentifordThinningDescriptor stThinning = new StentifordThinningDescriptor();
operationName = "stentifordthinning";
rif = stThinning;
opRegistry.registerDescriptor(stThinning);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** euclideancolorsegment
//*********************************************************************
EuclideanColorSegmentDescriptor colSeg = new EuclideanColorSegmentDescriptor();
operationName = "euclideancolorsegment";
rif = colSeg;
opRegistry.registerDescriptor(colSeg);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** qcolorsegment
//*********************************************************************
QColorSegmentDescriptor qcolSeg = new QColorSegmentDescriptor();
operationName = "qcolorsegment";
rif =qcolSeg;
opRegistry.registerDescriptor(qcolSeg);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** huecolorsegment
//*********************************************************************
HueColorSegmentDescriptor huecolSeg = new HueColorSegmentDescriptor();
operationName = "huecolorsegment";
rif =huecolSeg;
opRegistry.registerDescriptor(huecolSeg);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** colorfilter
//*********************************************************************
ColorFilterDescriptor colFil = new ColorFilterDescriptor();
operationName = "colorfilter";
rif = colFil;
opRegistry.registerDescriptor(colFil);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** huehistogramthreshold
//*********************************************************************
HueHistogramThresholdDescriptor hHist = new HueHistogramThresholdDescriptor();
operationName = "huehistogramthreshold";
rif = hHist;
opRegistry.registerDescriptor(hHist);
RIFRegistry.register(opRegistry, operationName, "", rif);
//*********************************************************************
//******** hsiseg
//*********************************************************************
HSISegmentDescriptor hsiSeg = new HSISegmentDescriptor();
operationName = "HSISegment";
rif = hsiSeg;
opRegistry.registerDescriptor(hsiSeg);
RIFRegistry.register(opRegistry, operationName, "", rif);
}
catch (IllegalArgumentException e)
{
//e.printStackTrace();
}
}
}