From f0988e714fcc3a6b886f44a64a75ca0b160065ff Mon Sep 17 00:00:00 2001 From: malaterre Date: Fri, 7 Nov 2003 14:57:58 +0000 Subject: [PATCH] *ENH: Add Rescale Slope & Intercept helper, defaults are: 0 for Intercept 1 for Slope --- src/gdcmHeaderHelper.cxx | 31 ++++++++++++++++++++++++++++++- src/gdcmHeaderHelper.h | 6 +++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/gdcmHeaderHelper.cxx b/src/gdcmHeaderHelper.cxx index 25d2d80c..cc3053cb 100644 --- a/src/gdcmHeaderHelper.cxx +++ b/src/gdcmHeaderHelper.cxx @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.cxx,v 1.15 2003/11/03 10:49:31 jpr Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.cxx,v 1.16 2003/11/07 14:57:58 malaterre Exp $ #include "gdcmHeaderHelper.h" @@ -497,6 +497,35 @@ std::string gdcmHeaderHelper::GetInstanceUID() { return GetPubElValByNumber(0x0008,0x0018); //0008 0018 UI ID SOP Instance UID } +//---------------------------------------------------------------------------- +float gdcmHeaderHelper::GetRescaleIntercept() +{ + float resInter; + std::string StrRescInter = GetPubElValByNumber(0x0028,0x1052); //0028 1052 DS IMG Rescale Intercept + if (StrRescInter != GDCM_UNFOUND) { + if( sscanf( StrRescInter.c_str(), "%f", &resInter) != 1) { + dbg.Verbose(0, "gdcmHeader::GetRescaleIntercept: Rescale Slope is empty"); + return 0.; // bug in the element 0x0028,0x1052 + } else { + return resInter; + } + } +} +//---------------------------------------------------------------------------- +float gdcmHeaderHelper::GetRescaleSlope() +{ + float resSlope; + std::string StrRescSlope = GetPubElValByNumber(0x0028,0x1053); //0028 1053 DS IMG Rescale Slope + if (StrRescSlope != GDCM_UNFOUND) { + if( sscanf( StrRescSlope.c_str(), "%f", &resSlope) != 1) { + dbg.Verbose(0, "gdcmHeader::GetRescaleSlope: Rescale Slope is empty"); + return 1.; // bug in the element 0x0028,0x1053 + } else { + return resSlope; + } + } + +} diff --git a/src/gdcmHeaderHelper.h b/src/gdcmHeaderHelper.h index c09bbbb7..bef35ad6 100644 --- a/src/gdcmHeaderHelper.h +++ b/src/gdcmHeaderHelper.h @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.5 2003/11/03 10:49:31 jpr Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.6 2003/11/07 14:57:58 malaterre Exp $ #ifndef GDCMHEADERHELPER_H #define GDCMHEADERHELPER_H @@ -76,6 +76,10 @@ public: float GetXSpacing(); float GetYSpacing(); float GetZSpacing(); + + //Usefull for rescaling graylevel: + float GetRescaleIntercept(); + float GetRescaleSlope(); int GetNumberOfScalarComponents(); int GetNumberOfScalarComponentsRaw(); -- 2.46.1