]> Creatis software - gdcm.git/blobdiff - src/gdcmSerieHelper.cxx
Reverse order sorting now works, even with user supplied function.
[gdcm.git] / src / gdcmSerieHelper.cxx
index 1c18682fc4cced98ed046e8633db7705f434bdb7..27f6b509bab8d88ba9f3021146f0dab7e6416395 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSerieHelper.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/08/30 08:12:40 $
-  Version:   $Revision: 1.18 $
+  Date:      $Date: 2005/08/30 14:15:34 $
+  Version:   $Revision: 1.19 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -29,6 +29,7 @@
 
 namespace gdcm 
 {
+//-----------------------------------------------------------------------------
 
 //-----------------------------------------------------------------------------
 // Constructor / Destructor
@@ -570,12 +571,12 @@ bool SerieHelper::ImageNumberOrdering(FileList *fileList)
 
 bool SerieHelper::FileNameLessThan(File *file1, File *file2)
 {
-  return file1->GetFileName() < file2->GetFileName();
+   return file1->GetFileName() < file2->GetFileName();
 }
 
 bool SerieHelper::FileNameGreaterThan(File *file1, File *file2)
 {
-  return file1->GetFileName() > file2->GetFileName();
+   return file1->GetFileName() > file2->GetFileName();
 }
 /**
  * \brief sorts the images, according to their File Name
@@ -594,19 +595,19 @@ bool SerieHelper::FileNameOrdering(FileList *fileList)
 
 /**
  * \brief sorts the images, according to user supplied function
- * \note Only Direct ordering is allowed
  * @param fileList Coherent File list (same Serie UID) to sort
  * @return false only if the header is bugged !
  */
 bool SerieHelper::UserOrdering(FileList *fileList)
 {
-   if (DirectOrder) 
-      std::sort(fileList->begin(), fileList->end(), SerieHelper::UserLessThanFunction);
-   else
-      gdcmWarningMacro( " Only Direct ordering allowed "
-                     << "when user function is supplied");
+   std::sort(fileList->begin(), fileList->end(), SerieHelper::UserLessThanFunction);
+   if (!DirectOrder) 
+   {
+      std::reverse(fileList->begin(), fileList->end());
+   }
    return true;
 }
+
 //-----------------------------------------------------------------------------
 // Print
 /**