- AnonymizeNoLoad used with dirin=inputDirectoryName
anonymizes all the files within the given Directory.
User may also choose extra elements he wants to rub out:
rubout=listOfElementsToRubOut
with listOfElementsToRubOut : group1-elem1,group2-elem2,
... (in hexa, no space within the list )
- gdcm::SerieHelper() has a new method
void AddGdcmFile(File *header), that allows aware user to
create a 'FileList' (actually a
std::vector< File* > ).
The FileList created this way will be the
'first one' in the gdcm::FileHelper() (retrieve it with
FileList *GetFirstCoherentFileList() ).
It may be sorted using OrderFileList.
No 'coherence check' will be performed on this FileList
before sorting.
It may be passed to a vtkGdcmReader
(to avoid parsing twice the files)
- vtkGdcmReader can now get the result of
gdcm::SerieHelper (to avoid parsing twice the files)
Proceed as follow :
gdcmSerieHelper *sh = new gdcmSerieHelper();
sh->SetDirectory(myImageDirectory, true);
gdcmFileList *l = s->GetFirstCoherentFileList();
s->OrderFileList(l);
vtkGdcmReader *gr = new vtkGdcmReader();
gr->SetCoherentFileList(l);
gr->Update();
This works with a directory that contains only one 'Serie'
(same Serie UID for all the images).
If it contains more than one Serie, you'll have to loop
on the Series, using GetNextCoherentFileList();
It will be up to the user to delete the gdcm::File.
See vtkgdcmSerieViewer for an example.
- Both vtkgdcmViewer and vtkgdcmViewer2
are available to allow easy displaying of single/multiframe
GreyLevel/RGB/PaletteColor images
- DICOMDIR anonymiser (Load and Noload mode)
- Because the gdcm::DicomDir::Load() method may be used
either for loading an already made DICOMDIR file or for
parsing all the dicom files with a given root directory we
syntaxically separated the operations:
For loading an already made DICOMDIR file, use :
gdcm::DicomDir *d = new gdcm::DicomDir();
d->SetFileName(fileName);
d->Load( );
For parsing all the dicom files within a given root directory, use :
gdcm::DicomDir *d = new gdcm::DicomDir();
d->SetDirectoryName(dirName);
d->Load( )
Don't use any longer old deprecated style:
gdcm::DicomDir *d = new gdcm::DicomDir();
d->SetParseDir(true); // or d->SetParseDir(false);
d->Load( fileName );
- User is now allowed to tell gdcm::Document constructor
he doesn't want to deal with SeqEntry
(every time it's possible)
and/or he doesn't
want to deal with Shadow groups (every time it's
possible)
or he doesn't
want to deal with SeqEntry that belong to a Shadow group (every time it's
possible)
use :
gdcm::File *f = new gdcm::File();
f->SetLoadMode(NO_SEQ); | depending on what
f->SetLoadMode(NO_SHADOW); | you want *not*
f->SetLoadMode(NO_SEQ | NO_SHADOW);| to load from the
f->SetLoadMode(NO_SHADOWSEQ); | target file
f->SetFileName(fileName);
f->Load( );
Don't use any longer old deprecated style:
gdcm::File *f = new gdcm::File(fileName);
- User is now allowed to tell gdcm::DicomDir constructor
he doesn't want to deal with SeqEntry
he doesn't want to deal with SeqEntry
(every time it's possible)
and/or he doesn't
want to deal with Shadow groups (every time it's
possible)
or he doesn't
want to deal with SeqEntry that belong to a Shadow group (every time it's
possible)
when he parses all the Dicom files within a given
directory
use :
gdcm::DicomDir *f = new gdcm::DicomDir();
f->SetLoadMode(NO_SEQ); | depending on what
f->SetLoadMode(NO_SHADOW); | you want *not*
f->SetLoadMode(NO_SEQ | NO_SHADOW);| to load from the files
f->SetLoadMode(NO_SHADOWSEQ); | within the root directory
f->SetDirectoryName(rootDirectoryName);
f->Load( );
Don't use any longer old deprecated style:
gdcm::DicomDir *dcmdir = new gdcm::DicomDir(dirName, true);