Program: gdcm
Module: $RCSfile: gdcmElementSet.cxx,v $
Language: C++
- Date: $Date: 2005/10/26 06:07:26 $
- Version: $Revision: 1.68 $
+ Date: $Date: 2005/10/26 09:15:19 $
+ Version: $Revision: 1.69 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
i != TagHT.end();
++i)
{
- // FIXME : find a trick to know if current object is a
- // gdcm::File or a gdcm::Document
- //if ( dynamic_cast< File* > ( this ) ) { // ignore illegal groups }
+ // depending on the gdcm::Document type
+ // (gdcm::File; gdcm::DicomDir, (more to come ?)
+ // some groups *cannot* be present.
+ // We hereby protect gdcm for writting stupid things
+ // if they were found in the original document.
+ if ( !MayIWrite( (i->second)->GetGroup() ) )
+ continue;
// Skip 'Group Length' element, since it may be wrong.
// except for Group 0002
Program: gdcm
Module: $RCSfile: gdcmElementSet.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:34 $
- Version: $Revision: 1.49 $
+ Date: $Date: 2005/10/26 09:15:19 $
+ Version: $Revision: 1.50 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
protected:
ElementSet();
~ElementSet();
-
+ /// \brief Some group are illegal withing some Dicom Documents
+ /// Only the Document knows it.
+ bool MayIWrite(uint16_t gr)
+ { return true; }
private:
// Variables
/// Hash Table (map), to provide fast access
Program: gdcm
Module: $RCSfile: gdcmFile.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:34 $
- Version: $Revision: 1.118 $
+ Date: $Date: 2005/10/26 09:15:19 $
+ Version: $Revision: 1.119 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
protected:
File();
~File();
-
+ /// \brief Protect the Writer from writing illegal groups
+ bool MayIWrite(uint16_t group)
+ { if (group < 8 && group !=2 ) return false; else return true; }
+
/// Store the RLE frames info obtained during parsing of pixels.
RLEFramesInfo *RLEInfo;
/// Store the JPEG fragments info obtained during parsing of pixels.