X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkMetaImageWriter.cxx;h=f17001ef72b3135a56044875f53de0fb55e75fde;hb=fc44a74636803d2efca46c6e66562a839e9d52f1;hp=7478b1da0fd48a1fc6659d127ac0696c43aad320;hpb=ebc770e3c035927e1b6f2d78f85b31ce7242f69b;p=bbtk.git diff --git a/packages/vtk/src/bbvtkMetaImageWriter.cxx b/packages/vtk/src/bbvtkMetaImageWriter.cxx index 7478b1d..f17001e 100644 --- a/packages/vtk/src/bbvtkMetaImageWriter.cxx +++ b/packages/vtk/src/bbvtkMetaImageWriter.cxx @@ -7,6 +7,13 @@ #include #include +#include "vtkJSONImageWriter.h" +#include "vtkXMLImageDataWriter.h" +#include "vtkXMLDataSetWriter.h" +#include "vtkDataSetWriter.h" +#include "vtkPDataSetWriter.h" +#include "vtkXMLWriter.h" + namespace bbvtk { @@ -31,17 +38,18 @@ void MetaImageWriter::Save_mhdb( std::string filename , vtkImageData* img ,int int bsz=ceil((double)dim[2]/(double)sizeB); int voi[6]; std::string filenameBlock; + std::string filenameBlockVti; if (filename.substr(filename.size()-5) == ".mhdb") { std::string cmd; - cmd="rm -rf "+filename; +// cmd="rm -rf "+filename; system( cmd.c_str() ); cmd="mkdir "+filename; system( cmd.c_str() ); } std::string fileinfoname=filename+"/info.dat"; - FILE *ff=fopen(fileinfoname.c_str(),"r"); + FILE *ff=fopen(fileinfoname.c_str(),"w"); fprintf(ff,"SizeBlock = %d\n",sizeB); fprintf(ff,"DimSize = %d %d %d\n" , dim[0],dim[1],dim[2] ); fprintf(ff,"ElementType = %d\n", elementType ); @@ -68,14 +76,26 @@ void MetaImageWriter::Save_mhdb( std::string filename , vtkImageData* img ,int extract->UpdateWholeExtent(); extract->Modified(); extract->Update(); + filenameBlock =filename+"/mhdb-"+ std::to_string(i)+"-"+ std::to_string(j)+"-"+ std::to_string(k)+".mha"; vtkMetaImageWriter* w = vtkMetaImageWriter::New(); w->SetInputData( extract->GetOutput() ); w->SetCompression(true); w->SetFileDimensionality(bbGetInputIn()->GetDataDimension()); // NTU - filenameBlock=filename+"/mhdb-"+ std::to_string(i)+"-"+ std::to_string(j)+"-"+ std::to_string(k)+".mhd"; w->SetFileName( filenameBlock.c_str() ); w->Write(); w->Delete(); + +/* Borrame + filenameBlockVti=filenameBlock+"-ZLib.vti"; + vtkXMLImageDataWriter *writer = vtkXMLImageDataWriter::New(); + writer->SetDataModeToBinary(); +// writer->SetCompressionLevel(5); + writer->SetCompressorTypeToZLib(); + writer->SetFileName( filenameBlockVti.c_str() ); + writer->SetInputData( bbGetInputIn() ); + writer->Write(); +*/ + extract->Delete(); } // for k } // for j @@ -117,10 +137,10 @@ printf("EED vtkMetaImageWriter::Process START\n"); { Save_mhdb( userGivenName , bbGetInputIn() , bbGetInputSizeBlock() ); } else { - if (userGivenName.substr(userGivenName.size()-4) != ".mhd") //JPR + if (!((userGivenName.substr(userGivenName.size()-4) == ".mhd") || (userGivenName.substr(userGivenName.size()-4) == ".mha"))) //JPR { userGivenName += ".mhd"; - } + } vtkMetaImageWriter* w = vtkMetaImageWriter::New(); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5