X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.h;h=643e407ec349c7577ce0a96bc61bf5a4e129af46;hb=3d6874613ae6753dac9af37afc0f7172342301cd;hp=0afb7cef4f4f3d67782d60a7b6052a19fdfb9a80;hpb=3e43ec6a47d9de1276cf23e0dc9ef6d73640f451;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index 0afb7cef..643e407e 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/22 11:37:15 $ - Version: $Revision: 1.106 $ + Date: $Date: 2005/07/21 14:01:50 $ + Version: $Revision: 1.112 $ 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,24 @@ #ifndef GDCMFILE_H #define GDCMFILE_H +#include "gdcmDebug.h" #include "gdcmDocument.h" + + namespace gdcm { + + +typedef struct +{ + float x; + float y; + float z; +} vector3D; + +typedef std::pair Res; + class RLEFramesInfo; class JPEGFragmentsInfo; @@ -84,7 +98,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 +110,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 +135,7 @@ public: float GetYOrigin(); float GetZOrigin(); - void GetImageOrientationPatient( float iop[6] ); + bool GetImageOrientationPatient( float iop[6] ); int GetBitsStored(); int GetBitsAllocated(); @@ -167,6 +184,8 @@ public: bool Write(std::string fileName, FileType filetype); + float TypeOrientation( ); + protected: /// Store the RLE frames info obtained during parsing of pixels. @@ -186,12 +205,17 @@ protected: 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, float criterionNew, Res res); + float CalculLikelyhood2Vec(vector3D refA, vector3D refB, + vector3D ori1, vector3D ori2); + vector3D ProductVectorial(vector3D vec1, vector3D vec2); }; } // end namespace gdcm