001/*----------------------------------------------------------------------------*/
002/* Copyright (c) FIRST 2008-2012. All Rights Reserved.                        */
003/* Open Source Software - may be modified and shared by FRC teams. The code   */
004/* must be accompanied by the FIRST BSD license file in the root directory of */
005/* the project.                                                               */
006/*----------------------------------------------------------------------------*/
007package edu.wpi.first.wpilibj.image;
008
009import com.ni.vision.NIVision;
010import com.ni.vision.NIVision.EllipseDescriptor;
011import com.ni.vision.NIVision.CurveOptions;
012import com.ni.vision.NIVision.ShapeDetectionOptions;
013import com.ni.vision.NIVision.ROI;
014import com.ni.vision.NIVision.DetectEllipsesResult;
015
016/**
017 * A grey scale image represented at a byte per pixel.
018 * @author dtjones
019 */
020public class MonoImage extends ImageBase {
021
022    /**
023     * Create a new 0x0 image.
024     */
025    public MonoImage() throws NIVisionException {
026        super(NIVision.ImageType.IMAGE_U8);
027    }
028
029    MonoImage(MonoImage sourceImage) {
030        super(sourceImage);
031    }
032
033    public DetectEllipsesResult detectEllipses(EllipseDescriptor ellipseDescriptor,
034                                         CurveOptions curveOptions, ShapeDetectionOptions shapeDetectionOptions,
035                                         ROI roi) throws NIVisionException {
036        return NIVision.imaqDetectEllipses(image, ellipseDescriptor, curveOptions, shapeDetectionOptions, roi);
037    }
038
039    public DetectEllipsesResult detectEllipses(EllipseDescriptor ellipseDescriptor)
040    throws NIVisionException {
041        return NIVision.imaqDetectEllipses(image, ellipseDescriptor, null, null, null);
042    }
043}