Menu

#5 A new function, Reader::ReadSelectedTags(const set<Tag>&)

closed
nobody
None
5
2010-01-15
2009-12-16
No

Note: this feature request replaces http://sourceforge.net/tracker/?func=detail&aid=2915615&group_id=137895&atid=739587 - [Feature Request] Reader::ReadSelectedTags(const set<Tag>&) - ID: 2915615]

A member function added to gdcm::Reader, to read the values of a set of selected tags in an efficient way.

Proposed signature:
bool gdcm::Reader::ReadSelectedTags(const std::set<Tag>&);

Use case:
////////////////////////////////////////////////
std::set<Tag> selectedTags;
selectedTags.insert( Tag(0x0010,0x0010) );
selectedTags.insert( Tag(0x0028,0x0008) );

if ( reader.ReadSelectedTags(selectedTags) )
{
const gdcm::File& file = reader.GetFile();
const gdcm::DataSet& dataSet = file.GetDataSet();
// Etcetera...
}
////////////////////////////////////////////////

Mathieu already gave me some hints on how to implement such a member function:

1. Read Tag,
2. If tag is in SelectedTagSet, then read Value
3. If not in SelectedTagSet, Skip the Value (do the seekg of ValueLength)
4. If Tag is greater or equal to SelectedTagSet.end() - 1, stops

I think such a function could be very helpful to us at LKEB (www.lkeb.nl).

Discussion

  • Mathieu Malaterre

    • status: open --> closed
     
  • Mathieu Malaterre

    Revision: 6508
    http://gdcm.svn.sourceforge.net/gdcm/?rev=6508&view=rev
    Author: niels_dekker
    Date: 2010-01-15 10:10:52 +0000 (Fri, 15 Jan 2010)

    Log Message:
    -----------
    ENH: Added ReadSelectedTags as mailed to Mathieu and requested by http://sourceforge.net/tracker/?func=detail&aid=2915659&group_id=137895&atid=739590

    Modified Paths:
    --------------
    trunk/Source/DataStructureAndEncodingDefinition/gdcmDataSet.h
    trunk/Source/DataStructureAndEncodingDefinition/gdcmDataSet.txx
    trunk/Source/DataStructureAndEncodingDefinition/gdcmReader.cxx
    trunk/Source/DataStructureAndEncodingDefinition/gdcmReader.h

     

Log in to post a comment.