From: malaterre Date: Wed, 10 Sep 2003 16:31:23 +0000 (+0000) Subject: * remove some methods that are now in gdcmHeaderHelper X-Git-Tag: Version0.3.1~174 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=8e675dfeb3be1567edfa6a0c021ea4a9d42f7e14;p=gdcm.git * remove some methods that are now in gdcmHeaderHelper --- diff --git a/ChangeLog b/ChangeLog index f655497a..c9f0b95e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,5 @@ +2003-09-10 Mathieu Malaterre + * remove some methods that are now in gdcmHeaderHelper 2003-09-10 Mathieu Malaterre * vtkGdcmReader set spacing and origin correctly 2003-09-09 Mathieu Malaterre diff --git a/src/gdcmHeader.cxx b/src/gdcmHeader.cxx index 7262da32..1c4876da 100644 --- a/src/gdcmHeader.cxx +++ b/src/gdcmHeader.cxx @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.81 2003/09/05 11:53:39 malaterre Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.82 2003/09/10 16:31:24 malaterre Exp $ //This is needed when compiling in debug mode #ifdef _MSC_VER @@ -1976,202 +1976,6 @@ string gdcmHeader::GetPixelType(void) { return( BitsAlloc + Signed); } -/** - * \ingroup gdcmHeader - * \brief gets the info from 0028,0030 : Pixel Spacing - * \ else 1. - * @return X dimension of a pixel - */ -float gdcmHeader::GetXSpacing(void) { - float xspacing, yspacing; - 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", &xspacing, &yspacing) != 2) - return 0.; - //else - return xspacing; -} - -/** - * \ingroup gdcmHeader - * \brief gets the info from 0028,0030 : Pixel Spacing - * \ else 1. - * @return Y dimension of a pixel - */ -float gdcmHeader::GetYSpacing(void) { - float xspacing, yspacing; - string StrSpacing = GetPubElValByNumber(0x0028,0x0030); - - if (StrSpacing == "gdcm::Unfound") { - dbg.Verbose(0, "gdcmHeader::GetYSpacing: unfound Pixel Spacing (0028,0030)"); - return 1.; - } - if( sscanf( StrSpacing.c_str(), "%f\\%f", &xspacing, &yspacing) != 2) - return 0.; - if (yspacing == 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", &xspacing, &yspacing); - } - return yspacing; -} - - -/** - *\ingroup gdcmHeader - *\brief gets the info from 0018,0088 : Space Between Slices - *\ else from 0018,0050 : Slice Thickness - *\ else 1. - * @return Z dimension of a voxel-to be - */ -float gdcmHeader::GetZSpacing(void) { - // TODO : translate into English - // Spacing Between Slices : distance entre le milieu de chaque coupe - // Les coupes peuvent etre : - // jointives (Spacing between Slices = Slice Thickness) - // chevauchantes (Spacing between Slices < Slice Thickness) - // disjointes (Spacing between Slices > Slice Thickness) - // Slice Thickness : epaisseur de tissus sur laquelle est acquis le signal - // ca interesse le physicien de l'IRM, pas le visualisateur de volumes ... - // Si le Spacing Between Slices est absent, - // on suppose que les coupes sont jointives - - string StrSpacingBSlices = GetPubElValByNumber(0x0018,0x0088); - - if (StrSpacingBSlices == "gdcm::Unfound") { - dbg.Verbose(0, "gdcmHeader::GetZSpacing: unfound StrSpacingBSlices"); - string StrSliceThickness = GetPubElValByNumber(0x0018,0x0050); - if (StrSliceThickness == "gdcm::Unfound") - return 1.; - else - // if no 'Spacing Between Slices' is found, - // we assume slices join together - // (no overlapping, no interslice gap) - // if they don't, we're fucked up - return atof(StrSliceThickness.c_str()); - } else { - return atof(StrSpacingBSlices.c_str()); - } -} - -// -// Image Position Patient (0020,0032): -// If not found (ACR_NEMA) we try Image Position (0020,0030) -// If not found (ACR-NEMA), we consider Slice Location (0020,1041) -// or Location (0020,0050) -// as the Z coordinate, -// 0. for all the coordinates if nothing is found - -// TODO : find a way to inform the caller nothing was found -// TODO : How to tell the caller a wrong number of values was found? - -/** - * \ingroup gdcmHeader - * \brief gets the info from 0020,0032 : Image Position Patient - *\ else from 0020,0030 : Image Position (RET) - *\ else 0. - * @return up-left image corner position - */ -float gdcmHeader::GetXImagePosition(void) { - float xImPos, yImPos, zImPos; - string StrImPos = GetPubElValByNumber(0x0020,0x0032); - - if (StrImPos == "gdcm::Unfound") { - dbg.Verbose(0, "gdcmHeader::GetXImagePosition: unfound Image Position Patient (0020,0032)"); - StrImPos = GetPubElValByNumber(0x0020,0x0030); // For ACR-NEMA images - if (StrImPos == "gdcm::Unfound") { - dbg.Verbose(0, "gdcmHeader::GetXImagePosition: unfound Image Position (RET) (0020,0030)"); - // How to tell the caller nothing was found ? - return 0.; - } - } - if( sscanf( StrImPos.c_str(), "%f\\%f\\%f", &xImPos, &yImPos, &zImPos) != 3) - return 0.; - return xImPos; -} - -/** - * \ingroup gdcmHeader - * \brief gets the info from 0020,0032 : Image Position Patient - * \ else from 0020,0030 : Image Position (RET) - * \ else 0. - * @return up-left image corner position - */ -float gdcmHeader::GetYImagePosition(void) { - float xImPos, yImPos, zImPos; - string StrImPos = GetPubElValByNumber(0x0020,0x0032); - - if (StrImPos == "gdcm::Unfound") { - dbg.Verbose(0, "gdcmHeader::GetYImagePosition: unfound Image Position Patient (0020,0032)"); - StrImPos = GetPubElValByNumber(0x0020,0x0030); // For ACR-NEMA images - if (StrImPos == "gdcm::Unfound") { - dbg.Verbose(0, "gdcmHeader::GetYImagePosition: unfound Image Position (RET) (0020,0030)"); - // How to tell the caller nothing was found ? - return 0.; - } - } - if( sscanf( StrImPos.c_str(), "%f\\%f\\%f", &xImPos, &yImPos, &zImPos) != 3) - return 0.; - return yImPos; -} - -/** - * \ingroup gdcmHeader - * \brief gets the info from 0020,0032 : Image Position Patient - * \ else from 0020,0030 : Image Position (RET) - * \ else from 0020,1041 : Slice Location - * \ else from 0020,0050 : Location - * \ else 0. - * @return up-left image corner position - */ -float gdcmHeader::GetZImagePosition(void) { - float xImPos, yImPos, zImPos; - string StrImPos = GetPubElValByNumber(0x0020,0x0032); - if (StrImPos != "gdcm::Unfound") { - if( sscanf( StrImPos.c_str(), "%f\\%f\\%f", &xImPos, &yImPos, &zImPos) != 3) { - dbg.Verbose(0, "gdcmHeader::GetZImagePosition: wrong Image Position Patient (0020,0032)"); - return 0.; // bug in the element 0x0020,0x0032 - } else { - return zImPos; - } - } - StrImPos = GetPubElValByNumber(0x0020,0x0030); // For ACR-NEMA images - if (StrImPos != "gdcm::Unfound") { - if( sscanf( StrImPos.c_str(), "%f\\%f\\%f", &xImPos, &yImPos, &zImPos) != 3) { - dbg.Verbose(0, "gdcmHeader::GetZImagePosition: wrong Image Position (RET) (0020,0030)"); - return 0.; // bug in the element 0x0020,0x0032 - } else { - return zImPos; - } - } - string StrSliceLocation = GetPubElValByNumber(0x0020,0x1041);// for *very* old ACR-NEMA images - if (StrSliceLocation != "gdcm::Unfound") { - if( sscanf( StrSliceLocation.c_str(), "%f", &zImPos) !=1) { - dbg.Verbose(0, "gdcmHeader::GetZImagePosition: wrong Slice Location (0020,1041)"); - return 0.; // bug in the element 0x0020,0x1041 - } else { - return zImPos; - } - } - dbg.Verbose(0, "gdcmHeader::GetZImagePosition: unfound Slice Location (0020,1041)"); - string StrLocation = GetPubElValByNumber(0x0020,0x0050); - if (StrLocation != "gdcm::Unfound") { - if( sscanf( StrLocation.c_str(), "%f", &zImPos) !=1) { - dbg.Verbose(0, "gdcmHeader::GetZImagePosition: wrong Location (0020,0050)"); - return 0.; // bug in the element 0x0020,0x0050 - } else { - return zImPos; - } - } - dbg.Verbose(0, "gdcmHeader::GetYImagePosition: unfound Location (0020,0050)"); - return 0.; // Hopeless -} - - /** * \ingroup gdcmHeader * \brief gets the info from 0002,0010 : Transfert Syntax diff --git a/src/gdcmHeader.h b/src/gdcmHeader.h index 684054b5..0f37b1aa 100644 --- a/src/gdcmHeader.h +++ b/src/gdcmHeader.h @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.h,v 1.36 2003/07/29 09:35:51 malaterre Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.h,v 1.37 2003/09/10 16:31:24 malaterre Exp $ #ifndef GDCMHEADER_H #define GDCMHEADER_H @@ -197,14 +197,6 @@ public: int GetPixelSize(void); std::string GetPixelType(void); - float GetXSpacing(void); - float GetYSpacing(void); - float GetZSpacing(void); - - float GetXImagePosition(void); - float GetYImagePosition(void); - float GetZImagePosition(void); - std::string GetTransferSyntaxName(void); int GetLUTLength(void); int GetLUTNbits(void);