X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.h;h=2675a0d7eb5aa38be045c8ceafa1add226c4f9e8;hb=f88cd7e3127179d20920d54df75bff206be94a09;hp=36777fe68c9660f93e95b349e57aad16ad639099;hpb=ef8ed3af8c91289da3f6a6e64da7aafda69b8b62;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index 36777fe6..2675a0d7 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/03/11 11:12:13 $ - Version: $Revision: 1.105 $ + Date: $Date: 2005/07/24 02:14:43 $ + Version: $Revision: 1.114 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,10 +19,23 @@ #ifndef GDCMFILE_H #define GDCMFILE_H +#include "gdcmDebug.h" #include "gdcmDocument.h" + + namespace gdcm { + +typedef struct +{ + double x; + double y; + double z; +} vector3D; + +typedef std::pair Res; + class RLEFramesInfo; class JPEGFragmentsInfo; @@ -84,7 +97,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 +109,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(); @@ -118,7 +134,7 @@ public: float GetYOrigin(); float GetZOrigin(); - void GetImageOrientationPatient( float iop[6] ); + bool GetImageOrientationPatient( float iop[6] ); int GetBitsStored(); int GetBitsAllocated(); @@ -167,6 +183,8 @@ public: bool Write(std::string fileName, FileType filetype); + double TypeOrientation( ); + protected: /// Store the RLE frames info obtained during parsing of pixels. @@ -180,18 +198,23 @@ 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(); + Res VerfCriterion(int typeCriterion, double criterionNew, Res const & res); + double CalculLikelyhood2Vec(vector3D const & refA, vector3D const & refB, + vector3D const & ori1, vector3D const & ori2); + vector3D ProductVectorial(vector3D const & vec1, vector3D const & vec2); }; } // end namespace gdcm