]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkMetaImageWriter.xml
#3004 BBTK Feature New Normal - In box vtk:MetaImageWriter Compression option
[bbtk.git] / packages / vtk / src / bbvtkMetaImageWriter.xml
index 420573b182a8b3b634e08706b751c556cb788602..0a09e3c92715a20f4a470c6441cc713a7ef1fa8c 100644 (file)
@@ -1,35 +1,61 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
 
-<blackbox name="MetaImageWriter">
+<blackbox name="MetaImageWriter" type="VTK_ImageAlgorithm">
 
 <author>laurent.guigues at creatis.insa-lyon.fr</author>
 <description><PRE>Writes .mhd / .mhd image formats (bbfication of vtkMetaImageWriter)</PRE></description>
 <category>image;read/write</category>
 
 <include>vtkMetaImageWriter.h</include> 
-<include>vtkImageData.h</include> 
+<include>vtkImageData.h</include>
+<vtkobject>vtkMetaImageWriter</vtkobject> 
 
-<input  name="Filename"  type="std::string"   nature="file name"   description="Name of the file to write"/>  
+<input name="Filename"  type="std::string"   nature="file name"   description="Name of the file to write"/>  
 <input name="In" type="vtkImageData*" description="Input image" />
+<input name="Compression" type="bool" description="default(false)   true/false" />
  
  <process><PRE>
    vtkMetaImageWriter* w = vtkMetaImageWriter::New();
-std::cout << "a"<<std::endl;
-//vtkImageData* in = vtkImageData::New();
-//  in->ShallowCopy(bbGetInputIn());
-bbGetInputIn()->Update();
-   w->SetInput(bbGetInputIn());
-   w->SetFileName(bbGetInputFilename().c_str());
-
-bbGetInputIn()->Print(std::cout);
-std::cout << "a '"<< bbGetInputFilename()<<"'"<<std::endl;
-   w->Update();
-   w->Write();
-std::cout << "a"<<std::endl;
+   bbGetInputIn()->Update();
+
+/*
+   if (bbGetInputIn() == 0)
+      std::cout << "======================= Katastrophe : bbGetInputIn() == 0 " << std::endl;
+   else
+      std::cout << "======================= OK : bbGetInputIn() not NULL " << std::endl;
+
+   bbGetInputIn()->PrintSelf(std::cout, vtkIndent(1));
+   bbGetInputIn()->GetSpacing(spacing);
+   std::cout << "=======" << spacing[0] << " " << spacing[1] << " " << spacing[2] << std::endl;
+*/
+
+
+  if (bbGetInputIn()!=NULL)
+  {
+     w->SetInput(bbGetInputIn());
+     w->SetCompression(bbGetInputCompression());  
+     w->SetFileDimensionality(bbGetInputIn()->GetDataDimension()); // NTU
+     std::string userGivenName = bbGetInputFilename();
+     if (userGivenName.substr(userGivenName.size()-4) != ".mhd")  //JPR
+     { 
+        userGivenName += ".mhd";
+     }
+     w->SetFileName(userGivenName.c_str());  
+     //w->SetFileName(bbGetInputFilename().c_str());  // JPR
+//EEDJuly22-2014     w->Update(); // Fred  
+     w->Write();
+   } // bbGetInputIn()!=NULL
+
    w->Delete();
-std::cout << "a"<<std::endl;
  </PRE></process>
 
+ <defaultValues>
+  <PRE>
+    bbSetInputCompression(false);
+  </PRE>
+  </defaultValues>
+
+
 </blackbox>