]> Creatis software - clitk.git/blobdiff - tools/clitkDicomRTStruct2Image.cxx
Debug RTStruct conversion with empty struc
[clitk.git] / tools / clitkDicomRTStruct2Image.cxx
index b713d9412d20897bea105aa16bcf596c941bfd72..3790ab7b3100e335da027148e0d797d2ba20f59a 100644 (file)
 #include "clitkDicomRTStruct2ImageFilter.h"
 #include "clitkDicomRT_StructureSet.h"
 #include "clitkDicomRTStruct2Image_ggo.h"
+#include "clitkIO.h"
 
 //--------------------------------------------------------------------
 int main(int argc, char * argv[]) {
 
   // Init command line
   GGO(clitkDicomRTStruct2Image, args_info);
+  CLITK_INIT;
 
   // Read and display information
   clitk::DicomRT_StructureSet::Pointer s = clitk::DicomRT_StructureSet::New();
@@ -38,6 +40,9 @@ int main(int argc, char * argv[]) {
   clitk::DicomRTStruct2ImageFilter filter;
   filter.SetCropMaskEnabled(args_info.crop_flag);
   filter.SetImageFilename(args_info.image_arg);  // Used to get spacing + origin
+  if (args_info.vtk_flag) {
+    filter.SetWriteMesh(true);
+  }
   if (args_info.roiName_given) {
     filter.SetROI(s->GetROIFromROIName(args_info.roiName_arg)); 
     filter.SetOutputImageFilename(args_info.output_arg);
@@ -65,12 +70,25 @@ int main(int argc, char * argv[]) {
         filter.SetROI(roi); 
         filter.SetCropMaskEnabled(args_info.crop_flag);
         filter.SetImageFilename(args_info.image_arg);  // Used to get spacing + origin
+        if (args_info.vtk_flag) {
+          filter.SetWriteMesh(true);
+        }
         name.erase(remove_if(name.begin(), name.end(), isspace), name.end());
-        std::string n = std::string(args_info.output_arg).append
-          (clitk::toString(num)).append
-          ("_").append
-          (name).append
-          (".mhd");
+        std::string n;
+        if (args_info.mha_flag) {
+          n = std::string(args_info.output_arg).append
+            (clitk::toString(num)).append
+            ("_").append
+            (name).append
+            (".mha");
+        }
+        else {
+          n = std::string(args_info.output_arg).append
+            (clitk::toString(num)).append
+            ("_").append
+            (name).append
+            (".mhd");
+        }
         if (args_info.verbose_flag) {
           std::cout << num << " " << roi->GetName() << " num=" << num << " : " << n << std::endl;
         }