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
=========================================================================*/
-#ifndef GDCMSERIEHELPER_H
-#define GDCMSERIEHELPER_H
+#ifndef _GDCMSERIEHELPER_H_
+#define _GDCMSERIEHELPER_H_
#include "gdcmRefCounter.h"
#include "gdcmTagKey.h"
typedef std::vector<File* > FileList;
#ifndef GDCM_LEGACY_REMOVE
-typedef std::vector<File* > GdcmFileList;
+ typedef std::vector<File* > GdcmFileList;
#endif
/// \brief XCoherent stands for 'Extra Coherent',
* 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<std::string, FileList *> SingleSerieUIDFileSetmap;
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
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);