MCPcopy Create free account
hub / github.com/MITK/MITK / main

Function main

Modules/Classification/CLMiniApps/CLN4.cpp:21–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19#include <itkSTAPLEImageFilter.h>
20
21int main(int argc, char* argv[])
22{
23 typedef itk::Image<unsigned char, 3> MaskImageType;
24 typedef itk::Image<float, 3> ImageType;
25 typedef itk::N4BiasFieldCorrectionImageFilter < ImageType, MaskImageType, ImageType > FilterType;
26
27 mitkCommandLineParser parser;
28 parser.setTitle("N4 Bias Field Correction");
29 parser.setCategory("Classification Command Tools");
30 parser.setDescription("");
31 parser.setContributor("German Cancer Research Center (DKFZ)");
32
33 parser.setArgumentPrefix("--", "-");
34 // Add command line argument names
35 parser.addArgument("help", "h", mitkCommandLineParser::Bool, "Help:", "Show this help text");
36 parser.addArgument("input", "i", mitkCommandLineParser::Directory, "Input file:", "Input file", us::Any(), false, false, false, mitkCommandLineParser::Input);
37 parser.addArgument("mask", "m", mitkCommandLineParser::File, "Output file:", "Mask file", us::Any(), false, false, false, mitkCommandLineParser::Output);
38 parser.addArgument("output", "o", mitkCommandLineParser::File, "Output file:", "Output file", us::Any(), false, false, false, mitkCommandLineParser::Output);
39
40 parser.addArgument("number-of-controllpoints", "noc", mitkCommandLineParser::Int, "Parameter", "The noc for the point grid size defining the B-spline estimate (default 4)", us::Any(), true);
41 parser.addArgument("number-of-fitting-levels", "nofl", mitkCommandLineParser::Int, "Parameter", "Number of fitting levels for the multi-scale approach (default 1)", us::Any(), true);
42 parser.addArgument("number-of-histogram-bins", "nofl", mitkCommandLineParser::Int, "Parameter", "number of bins defining the log input intensity histogram (default 200)", us::Any(), true);
43 parser.addArgument("spline-order", "so", mitkCommandLineParser::Int, "Parameter", "Define the spline order (default 3)", us::Any(), true);
44 parser.addArgument("winer-filter-noise", "wfn", mitkCommandLineParser::Float, "Parameter", "Noise estimate defining the Wiener filter (default 0.01)", us::Any(), true);
45 parser.addArgument("number-of-maximum-iterations", "nomi", mitkCommandLineParser::Int, "Parameter", "Spezifies the maximum number of iterations per run", us::Any(), true);
46 // ToDo: Number Of Maximum Iterations durchschleifen
47
48 std::map<std::string, us::Any> parsedArgs = parser.parseArguments(argc, argv);
49
50 // Show a help message
51 if (parsedArgs.count("help") || parsedArgs.count("h"))
52 {
53 std::cout << parser.helpText();
54 return EXIT_SUCCESS;
55 }
56
57 MaskImageType::Pointer itkMsk = MaskImageType::New();
58 mitk::Image::Pointer img = mitk::IOUtil::Load<mitk::Image>(parsedArgs["mask"].ToString());
59 mitk::CastToItkImage(img, itkMsk);
60
61 ImageType::Pointer itkImage = ImageType::New();
62 mitk::Image::Pointer img2 = mitk::IOUtil::Load<mitk::Image>(parsedArgs["input"].ToString());
63 mitk::CastToItkImage(img2, itkImage);
64
65 FilterType::Pointer filter = FilterType::New();
66 filter->SetInput(itkImage);
67 filter->SetMaskImage(itkMsk);
68
69
70
71 if (parsedArgs.count("number-of-controllpoints") > 0)
72 {
73 int variable = us::any_cast<int>(parsedArgs["maximum-iterations"]);
74 MITK_INFO << "Number of control points: " << variable;
75 filter->SetNumberOfControlPoints(variable);
76 }
77 if (parsedArgs.count("number-of-fitting-levels") > 0)
78 {

Callers

nothing calls this directly

Calls 15

CastToMitkImageFunction · 0.85
setCategoryMethod · 0.80
setContributorMethod · 0.80
setArgumentPrefixMethod · 0.80
addArgumentMethod · 0.80
parseArgumentsMethod · 0.80
countMethod · 0.80
helpTextMethod · 0.80
SetMaskImageMethod · 0.80
AnyClass · 0.50
NewFunction · 0.50
setTitleMethod · 0.45

Tested by

no test coverage detected