From: malaterre Date: Fri, 24 Oct 2003 14:34:22 +0000 (+0000) Subject: *ENH: Can read CT-MONO2-8-abdo.dcm now X-Git-Tag: Version0.3.1~86 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=68ba8dcb2f3a0ed059c51d8bfd9f7c826dc0342e;p=gdcm.git *ENH: Can read CT-MONO2-8-abdo.dcm now *ENH: CT-MONO2-8-abdo.dcm is in color again, do not press 'r' or you'll loose the color --- diff --git a/src/gdcmHeaderHelper.cxx b/src/gdcmHeaderHelper.cxx index 2917c573..c1f38406 100644 --- a/src/gdcmHeaderHelper.cxx +++ b/src/gdcmHeaderHelper.cxx @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.cxx,v 1.12 2003/10/06 15:32:48 malaterre Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.cxx,v 1.13 2003/10/24 14:34:22 malaterre Exp $ #include "gdcmHeaderHelper.h" @@ -158,15 +158,19 @@ std::string gdcmHeaderHelper::GetPixelType() { float gdcmHeaderHelper::GetXSpacing() { float xspacing, yspacing; std::string StrSpacing = GetPubElValByNumber(0x0028,0x0030); - - if (StrSpacing == GDCM_UNFOUND) { - dbg.Verbose(0, "gdcmHeader::GetXSpacing: unfound Pixel Spacing (0028,0030)"); - return 1.; - } - if( sscanf( StrSpacing.c_str(), "%f\\%f", &yspacing, &xspacing) != 2) - return 0.; - //else - return xspacing; + + if (StrSpacing == GDCM_UNFOUND) { + dbg.Verbose(0, "gdcmHeader::GetXSpacing: unfound Pixel Spacing (0028,0030)"); + return 1.; + } + if( sscanf( StrSpacing.c_str(), "%f\\%f", &yspacing, &xspacing) != 2) + return 0.; + if (xspacing == 0.) { + dbg.Verbose(0, "gdcmHeader::GetYSpacing: gdcmData/CT-MONO2-8-abdo.dcm problem"); + // seems to be a bug in the header ... + sscanf( StrSpacing.c_str(), "%f\\0\\%f", &yspacing, &xspacing); + } + return xspacing; } //---------------------------------------------------------------------------- /** @@ -185,7 +189,7 @@ float gdcmHeaderHelper::GetYSpacing() { } if( sscanf( StrSpacing.c_str(), "%f\\%f", &yspacing, &xspacing) != 2) return 0.; - if (yspacing == 0.) { + if (xspacing == 0.) { dbg.Verbose(0, "gdcmHeader::GetYSpacing: gdcmData/CT-MONO2-8-abdo.dcm problem"); // seems to be a bug in the header ... sscanf( StrSpacing.c_str(), "%f\\0\\%f", &yspacing, &xspacing); diff --git a/vtk/vtkgdcmViewer.cxx b/vtk/vtkgdcmViewer.cxx index ee882617..eb512919 100644 --- a/vtk/vtkgdcmViewer.cxx +++ b/vtk/vtkgdcmViewer.cxx @@ -22,9 +22,9 @@ int main(int argc, char *argv[]) viewer->SetInput ( reader->GetOutput() ); viewer->SetupInteractor (iren); - float *range = reader->GetOutput()->GetScalarRange(); - viewer->SetColorWindow (range[1] - range[0]); - viewer->SetColorLevel (0.5 * (range[1] + range[0])); +// float *range = reader->GetOutput()->GetScalarRange(); +// viewer->SetColorWindow (range[1] - range[0]); +// viewer->SetColorLevel (0.5 * (range[1] + range[0])); iren->Initialize(); iren->Start(); @@ -33,7 +33,7 @@ int main(int argc, char *argv[]) vtkStructuredPointsWriter *writer = vtkStructuredPointsWriter::New(); writer->SetInput( reader->GetOutput()); writer->SetFileName( "foo.vtk" ); - writer->SetFileTypeToBinary(); + //writer->SetFileTypeToBinary(); writer->Write(); reader->Delete();