X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmSerieHelper.h;h=2f20fe4f2911a43fcedcbef98ae1daf1d4dc9636;hb=fd5c14391627c6e42283ced90561271af2a161a2;hp=1345de5b56109a7636b549dbf0d440c4eb3f7eb1;hpb=5d1e3fd08029804ede29b7392c2f1b7970b3c27f;p=gdcm.git diff --git a/src/gdcmSerieHelper.h b/src/gdcmSerieHelper.h index 1345de5b..2f20fe4f 100644 --- a/src/gdcmSerieHelper.h +++ b/src/gdcmSerieHelper.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmSerieHelper.h,v $ Language: C++ - Date: $Date: 2007/06/08 12:49:37 $ - Version: $Revision: 1.43 $ + Date: $Date: 2011/03/29 07:36:00 $ + Version: $Revision: 1.47 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -16,8 +16,8 @@ =========================================================================*/ -#ifndef GDCMSERIEHELPER_H -#define GDCMSERIEHELPER_H +#ifndef _GDCMSERIEHELPER_H_ +#define _GDCMSERIEHELPER_H_ #include "gdcmRefCounter.h" #include "gdcmTagKey.h" @@ -35,7 +35,7 @@ class File; typedef std::vector FileList; #ifndef GDCM_LEGACY_REMOVE -typedef std::vector GdcmFileList; + typedef std::vector GdcmFileList; #endif /// \brief XCoherent stands for 'Extra Coherent', @@ -60,13 +60,14 @@ typedef std::vector GdcmFileList; * into several XCoherent Filesets * XCoherent stands for 'Extra Coherent' (same orientation, or same position) */ + class GDCM_EXPORT SerieHelper : public RefCounter { gdcmTypeMacro(SerieHelper); public: /// SingleSerieUIDFileSetmap replaces the former CoherentFileListmap - /// ( List were actually std::vectors, and where no coherent at all : + /// (List were actually std::vectors, and where no coherent at all : /// They were only Single SeriesInstanceUID File sets) typedef std::map SingleSerieUIDFileSetmap; @@ -90,6 +91,11 @@ public: void OrderFileList(FileList *fileSet); void Clear() { ClearAll(); } + bool UserOrdering(FileList *fileSet); + bool ImagePositionPatientOrdering(FileList *fileSet); + bool ImageNumberOrdering(FileList *fileSet); + bool FileNameOrdering(FileList *fileSet); + /// \brief Gets the FIRST Single SerieUID Fileset. /// Deprecated; kept not to break the API /// \note Caller must call OrderFileList first @@ -186,16 +192,21 @@ public: XCoherentFileSetmap SplitOnPosition(FileList *fileSet); XCoherentFileSetmap SplitOnTagValue(FileList *fileSet, uint16_t group, uint16_t element); + XCoherentFileSetmap SplitOnTagValueConvertToFloat(FileList *fileSet, + uint16_t group, uint16_t element); protected : SerieHelper(); private: void ClearAll(); + + /* + //move them to public (usefull for aware user!) bool UserOrdering(FileList *fileSet); bool ImagePositionPatientOrdering(FileList *fileSet); bool ImageNumberOrdering(FileList *fileSet); bool FileNameOrdering(FileList *fileSet); - + */ static bool ImageNumberLessThan(File *file1, File *file2); static bool ImageNumberGreaterThan(File *file1, File *file2); static bool FileNameLessThan(File *file1, File *file2);