| 18 | |
| 19 | |
| 20 | int main(int argc, char* argv[]) |
| 21 | { |
| 22 | mitkCommandLineParser parser; |
| 23 | |
| 24 | parser.setTitle("Mask Outlier filtering"); |
| 25 | parser.setCategory("Basic Image Processing"); |
| 26 | parser.setDescription(""); |
| 27 | parser.setContributor("German Cancer Research Center (DKFZ)"); |
| 28 | |
| 29 | parser.setArgumentPrefix("--", "-"); |
| 30 | // Add command line argument names |
| 31 | parser.addArgument("help", "h", mitkCommandLineParser::Bool, "Help:", "Show this help text"); |
| 32 | parser.addArgument("image", "i", mitkCommandLineParser::File, "Input image:", "Input Image", us::Any(), false, false, false, mitkCommandLineParser::Input); |
| 33 | parser.addArgument("mask", "m", mitkCommandLineParser::File, "Input mask:", "Input Mask", us::Any(), false, false, false, mitkCommandLineParser::Input); |
| 34 | parser.addArgument("output", "o", mitkCommandLineParser::File, "Output file:", "Output Mask", us::Any(), false, false, false, mitkCommandLineParser::Output); |
| 35 | |
| 36 | parser.addArgument("lower-limit", "lL", mitkCommandLineParser::Float, "Lower Limit", "Lower Limit", us::Any(), true); |
| 37 | parser.addArgument("upper-limit", "ul", mitkCommandLineParser::Float, "Upper Limit", "Upper Limit", us::Any(), true); |
| 38 | |
| 39 | std::map<std::string, us::Any> parsedArgs = parser.parseArguments(argc, argv); |
| 40 | |
| 41 | if (parsedArgs.size() == 0) |
| 42 | return EXIT_FAILURE; |
| 43 | |
| 44 | // Show a help message |
| 45 | if (parsedArgs.count("help") || parsedArgs.count("h")) |
| 46 | { |
| 47 | std::cout << parser.helpText(); |
| 48 | return EXIT_SUCCESS; |
| 49 | } |
| 50 | |
| 51 | std::string inputFilename = us::any_cast<std::string>(parsedArgs["image"]); |
| 52 | std::string maskFilename = us::any_cast<std::string>(parsedArgs["mask"]); |
| 53 | std::string outputFilename = us::any_cast<std::string>(parsedArgs["output"]); |
| 54 | |
| 55 | auto nodes = mitk::IOUtil::Load(inputFilename); |
| 56 | if (nodes.size() == 0) |
| 57 | { |
| 58 | MITK_INFO << "No Image Loaded"; |
| 59 | return 0; |
| 60 | } |
| 61 | mitk::Image::Pointer image = dynamic_cast<mitk::Image*>(nodes[0].GetPointer()); |
| 62 | |
| 63 | if (image.IsNull()) |
| 64 | { |
| 65 | MITK_INFO << "Loaded data (image) is not of type image"; |
| 66 | return 0; |
| 67 | } |
| 68 | |
| 69 | |
| 70 | auto maskNodes = mitk::IOUtil::Load(maskFilename); |
| 71 | if (maskNodes.size() == 0) |
| 72 | { |
| 73 | MITK_INFO << "No Mask Loaded"; |
| 74 | return 0; |
| 75 | } |
| 76 | mitk::Image::Pointer mask = dynamic_cast<mitk::Image*>(maskNodes[0].GetPointer()); |
| 77 |
nothing calls this directly
no test coverage detected