]> Creatis software - clitk.git/blobdiff - tools/clitkImageConvert.cxx
With ITK 5, add itkReadRawBytesAfterSwappingMacro and itkWriteRawBytesAfterSwappingMacro
[clitk.git] / tools / clitkImageConvert.cxx
index 64bcfe180a32a50f9f8759341e6e63d0d1b3efba..e54c736d99ae1d9e433204931ebb0c4f7533c9d3 100644 (file)
@@ -40,14 +40,25 @@ int main(int argc, char * argv[])
 
   // Get list of filenames
   std::vector<std::string> l;
-  for(unsigned int i=0; i<args_info.input_given; i++) {
-    l.push_back(args_info.input_arg[i]);
+  unsigned int nCmdLineInputs = args_info.inputs_num;
+  std::string output;
+  if(args_info.output_given)
+    output = args_info.output_arg;
+  else if(nCmdLineInputs--)
+    output = args_info.inputs[nCmdLineInputs];
+  else {
+    std::cerr << "Error, you should give the --output option or one image filename on the commande line." << std::endl;
+    exit(0);
+  }
+
+  if(args_info.input_given) {
+    l.push_back(args_info.input_arg);
   }
-  for(unsigned int i=0; i<args_info.inputs_num; i++) {
-    l.push_back(args_info.inputs[i]);
+  if(nCmdLineInputs==1) {
+    l.push_back(args_info.inputs[0]);
   }
   if (l.size() < 1) {
-    std::cerr << "Error, you should give at least one --input option or one image filename on the commande line." << std::endl;
+    std::cerr << "Error, you should give the --input option or one image filename on the commande line." << std::endl;
     exit(0);
   }
 
@@ -55,7 +66,10 @@ int main(int argc, char * argv[])
   clitk::ImageConvertGenericFilter::Pointer filter = clitk::ImageConvertGenericFilter::New();
   filter->SetInputFilenames(l);
   filter->SetIOVerbose(args_info.verbose_flag);
-  filter->SetOutputFilename(args_info.output_arg);
+  filter->SetOutputFilename(output);
+  filter->SetVV(args_info.vv_flag);
+  filter->SetNoNiiMeta(args_info.noniimeta_flag);
+  filter->SetCorrectNegativeSpacingFlag(args_info.correct_flag);
   filter->EnableWriteCompression(args_info.compression_flag);
   if (args_info.type_given) filter->SetOutputPixelType(args_info.type_arg);
 
@@ -68,4 +82,3 @@ int main(int argc, char * argv[])
 //-------------------------------------------------------------------=
 
 #endif /* end #define CLITKIMAGECONVERT_CXX */
-