[Insight-users] GDCMSeriesFileNames and Private TAGS (GE)

Ale notinmyhead at gmail.com
Thu Jun 14 08:57:19 EDT 2012


Hello,

I'm trying to resort to the GDCMSeriesFileNames Class in order to parse a DICOM folder, which contains a DWI volume, with two set of slices: the BX and the B0 related. Since a I discovered the following document http://www.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI I got informed about the 0043,1039 tag that seems to discriminate by B value among volumes. I resort to dcmdump tool to confirm the correctness of the information.

Despite of all evidences, the class doesn't distinguish between the two volumes so I obtain a single volume with the set piped. Why?

I write down this piece of code to do it (it works for T2, DCE series and so on)...


GDCMSeriesFileNames::Pointer lNameGenerator = itk::GDCMSeriesFileNames::New();

lNameGenerator->LoadPrivateTagsOn();
lNameGenerator->LoadSequencesOn();

lNameGenerator->SetUseSeriesDetails(true);
// pGroupingCriteria is set to "0043|1039"
lNameGenerator->AddSeriesRestriction(pGroupingCriteria.c_str());
   

lNameGenerator->SetInputDirectory(pPath);

vector<vector<string> > lAllFileNames;

// get the different series UID from all the files and sort them
vector<string> lAllSeriesUIDs = lNameGenerator->GetSeriesUIDs();

vector<string>::const_iterator uidItr = lAllSeriesUIDs.begin();
vector<string>::const_iterator uidEnd = lAllSeriesUIDs.end();
// for every series UID get the names of the files belonging to it
while (uidItr != uidEnd)
{
	string lUID = *uidItr;
        vector<string> lSeriesFileNames = lNameGenerator->GetFileNames(lUID);

	lllFileNames.push_back(lSeriesFileNames);

        uidItr ++;
}

return lAllFileNames;

Thanks!


More information about the Insight-users mailing list