X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.h;h=0e937c772f6ffbba8c38240a6f281dba0f09196c;hb=d1a38a4f0d357d1d8079eacf4de5e0aeb3eff973;hp=b8275b03b548033e869361fb80b6c698bb8f1dc3;hpb=5b89bede4607999aeb8d5b45311e7ee82f9471ef;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index b8275b03..0e937c77 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/02/02 16:18:48 $ - Version: $Revision: 1.102 $ + Date: $Date: 2005/07/20 13:31:01 $ + Version: $Revision: 1.111 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,6 +19,7 @@ #ifndef GDCMFILE_H #define GDCMFILE_H +#include "gdcmDebug.h" #include "gdcmDocument.h" namespace gdcm @@ -84,7 +85,7 @@ enum ModalityType { * dicom files according to header information e.g. to create a file hierarchy * reflecting the Patient/Study/Serie informations, or extracting a given * SerieId. Accessing the content (image[s] or volume[s]) is beyond the - * functionality of this class and belongs to gdmcFile. + * functionality of this class and belongs to gdcm::FileHelper. * \note The various entries of the explicit value representation (VR) shall * be managed within a dictionary which is shared by all File * instances. @@ -96,9 +97,12 @@ class GDCM_EXPORT File : public Document { public: File(); - File( std::string const &filename ); + GDCM_LEGACY(File( std::string const &filename )); ~File(); + // Loading + GDCM_LEGACY(bool Load( std::string const &filename )); + bool Load(); // Standard values and informations contained in the header bool IsReadable(); @@ -129,6 +133,7 @@ public: std::string GetPixelType(); bool IsSignedPixelData(); bool IsMonochrome(); + bool IsMonochrome1(); bool IsPaletteColor(); bool IsYBRFull(); @@ -155,14 +160,18 @@ public: /// Returns the JPEG Fragments info JPEGFragmentsInfo *GetJPEGInfo() { return JPEGInfo; } - /// Replace patient's specific information by 'anonymous' +// Anonymization process + void AddAnonymizeElement (uint16_t group, uint16_t elem, + std::string const &value); + /// Clears the list of elements to be anonymized + void ClearAnonymizeList() { AnonymizeList.clear(); } + void AnonymizeNoLoad(); + /// Replace patient's own information by info from the Anonymization list bool AnonymizeFile(); bool Write(std::string fileName, FileType filetype); protected: - /// Initialize DICOM File when none - void InitializeDefaultFile(); /// Store the RLE frames info obtained during parsing of pixels. RLEFramesInfo *RLEInfo; @@ -175,17 +184,19 @@ protected: /// NumPixel to provide a unique access facility. uint16_t NumPixel; /// \brief In some cases (e.g. for some ACR-NEMA images) the header entry for - /// the group of pixels is *not* found at 0x7fe0. In order to - /// make things easier the parser shall store the proper value in - /// GrPixel to provide a unique access facility. + /// the group of pixels is *not* found at 0x7fe0. + /// In order to make things easier the parser shall store the proper value + /// in GrPixel to provide a unique access facility. uint16_t GrPixel; private: + bool DoTheLoadingJob(); void ComputeRLEInfo(); void ComputeJPEGFragmentInfo(); bool ReadTag(uint16_t, uint16_t); uint32_t ReadTagLength(uint16_t, uint16_t); void ReadAndSkipEncapsulatedBasicOffsetTable(); + }; } // end namespace gdcm