X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmSerieHelper.h;h=51b35d774b6b7b3771affb7335e0ffdd8ebeda07;hb=605c1e647863a228b2f7a605f8f19bc5f9c9cc46;hp=28790ec5c23879ac792e7b27ceb63c8f3d7a0756;hpb=f0e413c2c9e040814d7c8bf4909337d9d7b88714;p=gdcm.git diff --git a/src/gdcmSerieHelper.h b/src/gdcmSerieHelper.h index 28790ec5..51b35d77 100644 --- a/src/gdcmSerieHelper.h +++ b/src/gdcmSerieHelper.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmSerieHelper.h,v $ Language: C++ - Date: $Date: 2005/07/29 15:07:16 $ - Version: $Revision: 1.15 $ + Date: $Date: 2005/09/06 16:22:18 $ + Version: $Revision: 1.20 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -31,6 +31,8 @@ namespace gdcm class File; typedef std::vector FileList; +typedef bool (*BOOL_FUNCTION_PFILE_PFILE_POINTER)(File *, File *); + //----------------------------------------------------------------------------- /** * \brief @@ -54,6 +56,7 @@ public: void AddGdcmFile(File *header); void SetDirectory(std::string const &dir, bool recursive=false); + bool IsCoherent(FileList *coherentFileList); void OrderFileList(FileList *coherentFileList); /// \brief Gets the FIRST *coherent* File List. @@ -74,9 +77,9 @@ public: /** * \brief Sets the LoadMode as a boolean string. - * NO_SEQ, NO_SHADOW, NO_SHADOWSEQ - ... (nothing more, right now) - * WARNING : before using NO_SHADOW, be sure *all* your files + * LD_NOSEQ, LD_NOSHADOW, LD_NOSHADOWSEQ + * ... (nothing more, right now) + * WARNING : before using LD_NOSHADOW, be sure *all* your files * contain accurate values in the 0x0000 element (if any) * of *each* Shadow Group. The parser will fail if the size is wrong ! * @param mode Load mode to be used @@ -89,7 +92,11 @@ public: /// Brief User wants the files to be sorted Reverse Order void SetSortOrderToReverse() { DirectOrder = false; } + /// to allow user to give is own comparison function + void SetUserLessThanFunction( BOOL_FUNCTION_PFILE_PFILE_POINTER userFunc ) + { UserLessThanFunction = userFunc; } private: + bool UserOrdering(FileList *coherentFileList); bool ImagePositionPatientOrdering(FileList *coherentFileList); bool ImageNumberOrdering(FileList *coherentFileList); bool FileNameOrdering(FileList *coherentFileList); @@ -126,6 +133,11 @@ private: /// \brief whether we want to sort in direct order or not (reverse order). /// To be used by aware user only bool DirectOrder; + + /// \brief If user knows more about his images than gdcm does, + /// he may supply his own comparison function. + BOOL_FUNCTION_PFILE_PFILE_POINTER UserLessThanFunction; + }; } // end namespace gdcm