]> Creatis software - gdcm.git/commitdiff
*ENH: Can read CT-MONO2-8-abdo.dcm now
authormalaterre <malaterre>
Fri, 24 Oct 2003 14:34:22 +0000 (14:34 +0000)
committermalaterre <malaterre>
Fri, 24 Oct 2003 14:34:22 +0000 (14:34 +0000)
*ENH: CT-MONO2-8-abdo.dcm is in color again, do not press 'r' or you'll loose the color

src/gdcmHeaderHelper.cxx
vtk/vtkgdcmViewer.cxx

index 2917c573c430fc59972c85a7f911f4afa487f9b2..c1f38406185ac902477cefe87c2042e4ec949064 100644 (file)
@@ -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);
index ee88261794c730c7941e17ca355291bf2e80f6d4..eb512919b6772de3f648e7aa8f61027aef2cfdf2 100644 (file)
@@ -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();