Program: gdcm
Module: $RCSfile: gdcmDocument.cxx,v $
Language: C++
- Date: $Date: 2005/06/24 10:53:46 $
- Version: $Revision: 1.251 $
+ Date: $Date: 2005/06/29 15:58:33 $
+ Version: $Revision: 1.252 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
}
else
{
- // VR = "SQ"
+ /////////////////////// SeqEntry : VR = "SQ"
+
unsigned long l = newDocEntry->GetReadLength();
if ( l != 0 ) // don't mess the delim_mode for zero-length sequence
{
}
}
- if ( (LoadMode & NO_SEQ) && ! delim_mode ) // User asked to skip SQ
+ if ( (LoadMode & NO_SHADOWSEQ) && ! delim_mode )
+ {
+ // User asked to skip SQ only if they belong to Shadow group
+ if ( newDocEntry->GetGroup()%2 != 0 )
+ {
+ Fp->seekg( l, std::ios::cur);
+ used = false;
+ continue;
+ }
+ }
+
+ if ( (LoadMode & NO_SEQ) && ! delim_mode )
{
+ // User asked to skip *any* SeQuence
Fp->seekg( l, std::ios::cur);
used = false;
continue;
/**
* \brief Handle broken private tag from Philips NTSCAN
- * where the endianess is being switch to BigEndian for no
+ * where the endianess is being switched to BigEndian for no
* apparent reason
* @return no return
*/
Program: gdcm
Module: $RCSfile: gdcmDocument.h,v $
Language: C++
- Date: $Date: 2005/06/03 09:05:15 $
- Version: $Revision: 1.112 $
+ Date: $Date: 2005/06/29 15:58:33 $
+ Version: $Revision: 1.113 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include <list>
#include <fstream>
-#define NO_SEQ 0x0000001
-#define NO_SHADOW 0x00000002
-
+#define NO_SEQ 0x00000001 // Don't load odd groups
+#define NO_SHADOW 0x00000002 // Don't load Sequences
+#define NO_SHADOWSEQ 0x00000004 // Don't load Sequences if they belong to odd group
+ // (*exclusive* from NO_SEQ and NO_SHADOW)
namespace gdcm
{
class ValEntry;
/**
* \brief Sets the LoadMode as a boolean string.
- * NO_SEQ, NO_SHADOW, ... (nothing more, right now)
+ * NO_SEQ, NO_SHADOW, NO_SHADOWSEQ
+ ... (nothing more, right now)
* WARNING : before using NO_SHADOW, 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 !
/// \brief Bit string integer (each one considered as a boolean)
/// Bit 0 : Skip Sequences, if possible
/// Bit 1 : Skip Shadow Groups if possible
- /// Some more to add
+ /// Probabely, some more to add
int LoadMode;
/// Whether the gdcm::Document is already parsed/loaded