triskele/include/Appli/Option.hpp
2018-08-06 10:53:08 +02:00

48 lines
1.3 KiB
C++

#ifndef _OTB_TRISKELE_OPTION_HPP
#define _OTB_TRISKELE_OPTION_HPP
#include <iostream>
#include <vector>
#include <boost/thread.hpp>
#include "triskeleBase.hpp"
#include "ArrayTree/GraphWalker.hpp"
#include "IImage.hpp"
#include "Appli/Selected.hpp"
namespace otb {
namespace triskele {
using namespace ::triskele;
using namespace otb::triskele::arrayTree;
// ========================================
enum FeatureType { AP, MEAN, SD, AREA, MOI };
class Option {
public:
bool debugFlag;
IImage inputImage;
IImage outputImage;
Point topLeft = NullPoint;
Size size = NullSize;
Selected selectedBand;
size_t countingSortCeil = 2;
vector<DimImg> areaThresholds;
vector<double> levelThresholds, sdThresholds, moiThresholds;
unsigned int coreCount = boost::thread::hardware_concurrency ();
bool maxTreeFlag = false, minTreeFlag = false, tosTreeFlag = false, alphaTreeFlag = false;
bool border = false, oneBand = false;
Connectivity connectivity = Connectivity::C4;
FeatureType featureType = FeatureType::AP;
Option ();
Option (int argc, char** argv);
void usage (string msg = "", bool hidden = false);
void parse (int argc, char** argv);
};
}//namespace triskele
}//namespace otb
#endif //_OTB_TRISKELE_OPTION_HPP