17 #include <itkFileTools.h> 18 #include <itksys/SystemTools.hxx> 23 std::ifstream infile(filename.c_str());
24 bool isGood = infile.good();
40 parser.
addArgument(
"save-image",
"save-image",
mitkCommandLineParser::File,
"Output Image",
"If spezified, the image that is used for the analysis is saved to this location.",
us::Any(),
true,
false,
false,
mitkCommandLineParser::Output);
41 parser.
addArgument(
"save-mask",
"save-mask",
mitkCommandLineParser::File,
"Output Image",
"If spezified, the mask that is used for the analysis is saved to this location. ",
us::Any(),
true,
false,
false,
mitkCommandLineParser::Output);
42 parser.
addArgument(
"save-image-screenshots",
"save-screenshot",
mitkCommandLineParser::File,
"Output Image",
"If spezified, a screenshot of each slice is saved. Specify an EXISTING folder with prefix (for example ~/demo/ or ~/demo/image-",
us::Any(),
true,
false,
false,
mitkCommandLineParser::Output);
62 ParseFileLocations(parsedArgs);
63 ParseAdditionalOutputs(parsedArgs);
64 ParseHeaderInformation(parsedArgs);
65 ParseMaskAdaptation(parsedArgs);
66 ParseGlobalFeatureParameter(parsedArgs);
69 void mitk::cl::GlobalImageFeaturesParameter::ParseFileLocations(std::map<std::string, us::Any> &parsedArgs)
75 imagePath = parsedArgs[
"image"].ToString();
76 maskPath = parsedArgs[
"mask"].ToString();
85 if (parsedArgs.count(
"morph-mask"))
88 morphPath = parsedArgs[
"morph-mask"].ToString();
94 void mitk::cl::GlobalImageFeaturesParameter::ParseAdditionalOutputs(std::map<std::string, us::Any> &parsedArgs)
101 if (parsedArgs.count(
"logfile"))
107 if (parsedArgs.count(
"save-image"))
109 writeAnalysisImage =
true;
113 if (parsedArgs.count(
"save-mask"))
115 writeAnalysisMask =
true;
119 if (parsedArgs.count(
"save-image-screenshots"))
121 writePNGScreenshots =
true;
123 std::string pngScrenshotFolderPath = itksys::SystemTools::GetFilenamePath(
pngScreenshotsPath);
128 itk::FileTools::CreateDirectory(pngScrenshotFolderPath.c_str());
131 if (parsedArgs.count(
"decimal-point"))
133 auto tmpDecimalPoint =
us::any_cast<std::string>(parsedArgs[
"decimal-point"]);
134 if (tmpDecimalPoint.length() > 0)
136 useDecimalPoint =
true;
143 void mitk::cl::GlobalImageFeaturesParameter::ParseHeaderInformation(std::map<std::string, us::Any> &parsedArgs)
150 if (parsedArgs.count(
"header"))
154 if (parsedArgs.count(
"first-line-header"))
164 void mitk::cl::GlobalImageFeaturesParameter::ParseMaskAdaptation(std::map<std::string, us::Any> &parsedArgs)
173 if (parsedArgs.count(
"resample-mask"))
177 if (parsedArgs.count(
"same-space"))
181 if (parsedArgs.count(
"fixed-isotropic"))
188 void mitk::cl::GlobalImageFeaturesParameter::ParseGlobalFeatureParameter(std::map<std::string, us::Any> &parsedArgs)
197 if (parsedArgs.count(
"minimum-intensity"))
202 if (parsedArgs.count(
"maximum-intensity"))
207 if (parsedArgs.count(
"bins"))
212 if (parsedArgs.count(
"encode-parameter-in-name"))
bool defineGlobalMinimumIntensity
bool defineGlobalMaximumIntensity
std::string analysisMaskPath
bool resampleToFixIsotropic
ValueType * any_cast(Any *operand)
void addArgument(const std::string &longarg, const std::string &shortarg, Type type, const std::string &argLabel, const std::string &argHelp=std::string(), const us::Any &defaultValue=us::Any(), bool optional=true, bool ignoreRest=false, bool deprecated=false, mitkCommandLineParser::Channel channel=mitkCommandLineParser::Channel::None)
double resampleResolution
bool useHeaderForFirstLineOnly
void AddParameter(mitkCommandLineParser &parser)
std::string anaylsisImagePath
double globalMinimumIntensity
void ParseParameter(std::map< std::string, us::Any > parsedArgs)
bool defineGlobalNumberOfBins
double globalMaximumIntensity
std::string pngScreenshotsPath
static bool fileExists(const std::string &filename)