<?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();
-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>