Program: gdcm
Module: $RCSfile: gdcmSerieHelper.cxx,v $
Language: C++
- Date: $Date: 2006/03/30 16:41:22 $
- Version: $Revision: 1.48 $
+ Date: $Date: 2006/05/30 08:10:19 $
+ Version: $Revision: 1.53 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmSerieHelper.h"
#include "gdcmDirList.h"
#include "gdcmFile.h"
-#include "gdcmDictEntry.h" // for TranslateToKey
+//#include "gdcmDictEntry.h" // for TranslateToKey : no more !
#include "gdcmDebug.h"
#include "gdcmUtil.h"
if ( SingleSerieUIDFileSetHT.count(id) == 0 )
{
- gdcmDebugMacro(" New Serie UID :[" << id << "]");
+ gdcmDebugMacro(" New/gdcmSerieHelper.cxx Serie UID :[" << id << "]");
// create a std::list in 'id' position
SingleSerieUIDFileSetHT[id] = new FileList;
}
ExRefine.push_back( r );
}
-#ifndef GDCM_LEGACY_REMOVE
+//#ifndef GDCM_LEGACY_REMOVE
/**
* \brief add a rule for restricting a DICOM file to be in the serie we are
* trying to find. For example you can select only the DICOM files from a
* @deprecated use : AddRestriction(TagKey const &key,
* std::string const &value, int op);
*/
+
void SerieHelper::AddRestriction(uint16_t group, uint16_t elem,
std::string const &value, int op)
{
TagKey t(group, elem);
AddRestriction(t, value, op);
}
-#endif
+
+//#endif
/**
* \brief add an extra 'SerieDetail' for building a 'Serie Identifier'
*/
void SerieHelper::OrderFileList(FileList *fileSet)
{
-
+ // Only computed during ImagePositionPatientOrdering
+ // (need to sort the FileList using IPP and IOP !)
+ ZSpacing = -1.0;
+
if ( SerieHelper::UserLessThanFunction )
{
UserOrdering( fileSet );
return true;
}
-#ifndef GDCM_LEGACY_REMOVE
+//#ifndef GDCM_LEGACY_REMOVE
/**
* \brief accessor (DEPRECATED : use GetFirstSingleSerieUIDFileSet )
* Warning : 'coherent' means here they have the same Serie UID
* @return The first FileList if found, otherwhise NULL
*/
+ /*
FileList *SerieHelper::GetFirstCoherentFileList()
{
ItFileSetHt = SingleSerieUIDFileSetHT.begin();
return ItFileSetHt->second;
return NULL;
}
-
+*/
/**
* \brief accessor (DEPRECATED : use GetNextSingleSerieUIDFileSet )
* Warning : 'coherent' means here they have the same Serie UID
* \note : meaningfull only if GetFirstCoherentFileList() already called
* @return The next FileList if found, otherwhise NULL
*/
+ /*
FileList *SerieHelper::GetNextCoherentFileList()
{
gdcmAssertMacro (ItFileSetHt != SingleSerieUIDFileSetHT.end());
return ItFileSetHt->second;
return NULL;
}
+*/
/**
* \brief accessor (DEPRECATED : use GetSingleSerieUIDFileSet )
* @param SerieUID SerieUID
* \return pointer to the FileList if found, otherwhise NULL
*/
+ /*
FileList *SerieHelper::GetCoherentFileList(std::string SerieUID)
{
if ( SingleSerieUIDFileSetHT.count(SerieUID) == 0 )
return 0;
return SingleSerieUIDFileSetHT[SerieUID];
}
-#endif
+*/
+//#endif
/**
* value of a given Tag
* @param fileSet File Set to be splitted
* @param group group number of the target Element
- * @param elem element number of the target Element
+ * @param element element number of the target Element
* \return std::map of 'Xcoherent' File sets
*/
bool SerieHelper::ImagePositionPatientOrdering( FileList *fileList )
//based on Jolinda Smith's algorithm
{
-gdcmDebugMacro( "In ImagePositionPatientOrdering()" << std::endl );
-std::cout << "In ImagePositionPatientOrdering()" << std::endl;
//Tags always use the same coordinate system, where "x" is left
//to right, "y" is posterior to anterior, and "z" is foot to head (RAH).
std::sort(fileList->begin(), fileList->end(), pt2Func );
}
+/*
+#ifndef GDCM_LEGACY_REMOVE
+bool SerieHelper::AddGdcmFile(File* header)
+{
+ return AddFile(header);
+}
+#endif
+*/
+
//-----------------------------------------------------------------------------
} // end namespace gdcm