//
// Created by Martin Gargalovič on 9. 9. 2021.
//

#ifndef ARC_SUPPORT_ARCSEGMENT_H
#define ARC_SUPPORT_ARCSEGMENT_H

#include <opencv2/highgui.hpp>
#include "utility.h"


/**
 *
 * @param path path to the image
 * @param scale scaling image size.
 * @param polarity of found ellipses, can have values of -1 for negative polarity , 1 for positive polarity and 0 for both
 * @param sigma parameter for gaussian blur
 * @param inliersRatio parameter for adaptive inliers criterion * @param Tr
 * @param distanceTolerance a threshold used to compare with rosin distance
 * @param searchSize size of the statistical area
 * @param show decides whether the image will be displayed
 * @param out path to the output directory
 * @return
 */
std::vector<ellipseParameters>
arcSegment(std::string path, double scale, int polarity, double sigma,
           double inliersRatio, double Tr, double distanceTolerance,
           int searchSize, double Tcover, bool show, std::string out);


#endif //ARC_SUPPORT_ARCSEGMENT_H
