18 #define CONVERT_IMAGE(TYPE, DIM) \ 20 MITK_INFO << "Data Type for Conversion: " << typeid(TYPE).name(); \ 21 itk::Image<TYPE, DIM>::Pointer itkImage = itk::Image<TYPE, DIM>::New(); \ 22 mitk::CastToItkImage(image, itkImage); \ 23 mitk::CastToMitkImage(itkImage, outputImage); \ 26 #define CONVERT_IMAGE_TYPE(TYPE) \ 28 unsigned int dimension = image->GetDimension(); \ 29 MITK_INFO << "Image Dimension is: " << dimension; \ 30 switch (dimension) { \ 31 case 2 : CONVERT_IMAGE( TYPE , 2); \ 33 case 3 : CONVERT_IMAGE( TYPE , 3); \ 35 default: MITK_INFO << "This tool doesn't support a dimension of "<<dimension<<"."; \ 42 int main(
int argc,
char* argv[])
46 parser.
setTitle(
"Image Type Converter");
56 parser.
addArgument(
"type",
"t",
mitkCommandLineParser::String,
"Type definition:",
"Define Scalar data type: int, uint, short, ushort, char, uchar, float, double",
us::Any(),
false);
58 std::map<std::string, us::Any> parsedArgs = parser.
parseArguments(argc, argv);
60 if (parsedArgs.size()==0)
64 if ( parsedArgs.count(
"help") || parsedArgs.count(
"h"))
70 std::string inputName =
us::any_cast<std::string>(parsedArgs[
"input"]);
71 std::string outputName =
us::any_cast<std::string>(parsedArgs[
"output"]);
72 std::string type =
us::any_cast<std::string>(parsedArgs[
"type"]);
77 if (type.compare(
"int") == 0) {
80 else if (type.compare(
"uint") == 0)
84 else if (type.compare(
"char") == 0)
88 else if (type.compare(
"uchar") == 0)
92 else if (type.compare(
"short") == 0)
96 else if (type.compare(
"ushort") == 0)
100 else if (type.compare(
"float") == 0)
104 else if (type.compare(
"double") == 0)
108 else if (type.compare(
"none") == 0)
111 outputImage =
nullptr;
118 if (outputImage.IsNotNull())
void setContributor(std::string contributor)
ValueType * any_cast(Any *operand)
int main(int argc, char *argv[])
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)
std::map< std::string, us::Any > parseArguments(const StringContainerType &arguments, bool *ok=nullptr)
std::string helpText() const
void setCategory(std::string category)
mitk::Image::Pointer image
void setArgumentPrefix(const std::string &longPrefix, const std::string &shortPrefix)
static void Save(const mitk::BaseData *data, const std::string &path, bool setPathProperty=false)
Save a mitk::BaseData instance.
#define CONVERT_IMAGE_TYPE(TYPE)
void setTitle(std::string title)
void setDescription(std::string description)