X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.h;h=efd05fb60be201868b8e49aaf501904664af4557;hb=eb61ee414dacfa47afb6d1b64bbfb6bac6f86c2f;hp=8e6e51adab74897ae5a5e5839f0ab235e80cc5a5;hpb=8c7ca53952f8a597259d7f27240c8eb42b9d39aa;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index 8e6e51ad..efd05fb6 100644 --- a/src/gdcmFile.h +++ b/src/gdcmFile.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmFile.h,v $ Language: C++ - Date: $Date: 2005/10/06 18:54:50 $ - Version: $Revision: 1.117 $ + Date: $Date: 2006/05/30 08:18:50 $ + Version: $Revision: 1.128 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -21,7 +21,7 @@ #include "gdcmDebug.h" #include "gdcmDocument.h" - +#include "gdcmTagKey.h" namespace gdcm @@ -98,24 +98,28 @@ enum ModalityType { */ class GDCM_EXPORT File : public Document { + gdcmTypeMacro(File); + public: - File(); - GDCM_LEGACY(File( std::string const &filename )); - ~File(); + static File *New() {return new File();} // Loading - GDCM_LEGACY(bool Load( std::string const &filename )); - bool Load(); + // GDCM_LEGACY(bool Load( std::string const &filename )) + bool Load(); // Standard values and informations contained in the header bool IsReadable(); - // Some heuristic based accessors, end user intended + void SetFourthDimensionLocation(uint16_t group, uint16_t elem) { + FourthDimensionLocation = TagKey(group, elem); } + + // Some heuristic based accessors, end user intended int GetImageNumber(); ModalityType GetModality(); int GetXSize(); int GetYSize(); int GetZSize(); + int GetTSize(); // unnormalized in DICOM V3 float GetXSpacing(); float GetYSpacing(); @@ -175,7 +179,12 @@ public: bool Write(std::string fileName, FileType filetype); protected: - + File(); + virtual ~File(); + /// \brief Protect the Writer from writing illegal groups + bool MayIWrite(uint16_t group) + { if (group < 8 && group !=2 ) return false; else return true; } + /// Store the RLE frames info obtained during parsing of pixels. RLEFramesInfo *RLEInfo; /// Store the JPEG fragments info obtained during parsing of pixels. @@ -191,6 +200,9 @@ protected: /// In order to make things easier the parser shall store the proper value /// in GrPixel to provide a unique access facility. uint16_t GrPixel; + /// \brief allows user to tell gdcm in which DataElement is stored + ///the -unnormalized- 4th Dimension + TagKey FourthDimensionLocation; private: bool DoTheLoadingJob();