X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vtk%2FvtkGdcmWriter.cxx;h=6640ea5b774d1a309cc711d3b3ff5d32b87e2540;hb=ab67bcc06093f704d7aa0f5b662948e675ddabae;hp=755b57f81332a5f06ed0f99054ffc5f41e18ca63;hpb=2ca09ddbc04e1ec02aa49e8815925cceb49b2402;p=gdcm.git diff --git a/vtk/vtkGdcmWriter.cxx b/vtk/vtkGdcmWriter.cxx index 755b57f8..6640ea5b 100644 --- a/vtk/vtkGdcmWriter.cxx +++ b/vtk/vtkGdcmWriter.cxx @@ -58,7 +58,7 @@ #include #include -vtkCxxRevisionMacro(vtkGdcmWriter, "$Revision: 1.1 $"); +vtkCxxRevisionMacro(vtkGdcmWriter, "$Revision: 1.2 $"); vtkStandardNewMacro(vtkGdcmWriter); //----------------------------------------------------------------------------- @@ -116,11 +116,27 @@ void SetImageInformation(gdcm::File *file,vtkImageData *image) str<GetScalarSize()*8-1; file->ReplaceOrCreateByNumber(str.str(),0x0028,0x0102); + // Pixel Repr + // FIXME : what do we do when the ScalarType is + // VTK_UNSIGNED_INT or VTK_UNSIGNED_LONG + str.str(""); + if( image->GetScalarType() == VTK_UNSIGNED_CHAR || + image->GetScalarType() == VTK_UNSIGNED_SHORT || + image->GetScalarType() == VTK_UNSIGNED_INT || + image->GetScalarType() == VTK_UNSIGNED_LONG ) + { + str<<"0"; // Unsigned + } + else + { + str<<"1"; // Signed + } + file->ReplaceOrCreateByNumber(str.str(),0x0028,0x0103); + // Samples per pixel str.str(""); str<GetNumberOfScalarComponents(); file->ReplaceOrCreateByNumber(str.str(),0x0028,0x0002); - std::cout<GetHeader()->GetEntryByNumber(0x0028,0x0002)<<"-"<GetHeader()->GetNumberOfScalarComponents()<<"\n"; // Spacing double *sp = image->GetSpacing();