X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Doc%2FWebsite%2FNews.html;h=6d52b378b0a5ccf371a0dec79321c2d1cd7fb345;hb=2b5ddcb309843e22272eca54f9cc19970e3d1fd9;hp=0ea470e3b217c4e2c6244c974df32c54ff15691e;hpb=1e79eb643b485fef0bf0c3e0d4b113364e9ec411;p=gdcm.git diff --git a/Doc/Website/News.html b/Doc/Website/News.html index 0ea470e3..6d52b378 100644 --- a/Doc/Website/News.html +++ b/Doc/Website/News.html @@ -24,25 +24,27 @@ Any contribution is welcome.
+ gdcm::SerieHelper *sh= new gdcm::SerieHelper(); + // if user wants *not* to load some parts of the file headers + sh->SetLoadMode(loadMode); + + // if user wants *not* to load some files + sh->AddRestriction(group, element, value, operator); + sh->AddRestriction( ... + sh->SetDirectory(directoryWithImages); + + // if user *knows* how to order his files + sh->SetUserLessThanFunction(userSuppliedComparisonFunction); + // or/and + // if user wants to sort reverse order + sh->SetSortOrderToReverse(); + + // here, we suppose only the first 'Single SerieUID' Fileset is of interest + // Just iterate using sh->NextSingleSerieUIDFileSet() + // if you want to get all of them + gdcm::FileList *l = sh->GetFirstSingleSerieUIDFileSet(); + + // if user is doesn't trust too much the files with same Serie UID + if ( !sh->IsCoherent(l) ) + return; // not same sizes, or not same 'pixel type' -> stop + + sh->OrderFileList(l); // sort the list + + vtkGdcmReader *reader = vtkGdcmReader::New(); + // if user wants to modify pixel order (Mirror, TopDown, ...) + // he has to supply the function that does the job + // (a *very* simple example is given in vtkgdcmSerieViewer.cxx) + reader->SetUserFunction (userSuppliedFunction); + + // to pass a 'Single SerieUID' Fileset as produced by gdcm::SerieHelper + reader->SetCoherentFileList(l); + reader->Update(); ++ You can see a full example in vtk/vtkgdcmSerieViewer.cxx
+ 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).
gdcm::DicomDir *d = new gdcm::DicomDir(); d->SetDirectoryName(dirName); @@ -155,15 +430,17 @@ Any contribution is welcome.
- gdcm::File *f = new gdcm::File(); + he doesn't want to deal with SeqEntry + (every time it's possible, i.e for 'true length' Sequences)
+ and/or he doesn't want to deal with Shadow groups + (every time it's possible i.e. when element 0x0000 + exists for this Group)
+ or he doesn't want to deal with SeqEntry that belong to a + Shadow group (every time it's possible + -'true length' Sequence-)
+ 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 @@ -176,23 +453,24 @@ Any contribution is welcome. gdcm::File *f = new gdcm::File(fileName);
- gdcm::DicomDir *f = new gdcm::DicomDir(); + he doesn't want to deal with SeqEntry + (every time it's possible, i.e for 'true length' Sequences)
+ and/or he doesn't want to deal with Shadow groups + (every time it's possible i.e. when element 0x0000 + exists for this Group)
+ or he doesn't want to deal with SeqEntry that belong to a + Shadow group (every time it's possible + -'true length' Sequence-)
+ 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( ); + f->SetDirectoryName(rootDirectoryName); + f->Load( );Don't use any longer old deprecated style:
@@ -202,32 +480,32 @@ Any contribution is welcome.- Bug fixes
+
- No more trouble when the 'endianess' switches within Sequences. +
- No more trouble with 'no length Sequences' belonging to a + Shadow Group when they are 'Implicit VR'.
- The difference between MONOCHROME1 (low values = bright, high values = dark) and MONOCHROME2 (low values = dark, high values = bright) is now taken into account.
It's no longer up to the user to change the pixels value- Writing a 'True Dicom' image after reading an ACR-NEMA image does not request any longer from the user to build up - 'manually' the Meta Elements group (Ox0002) + 'manually' the Meta Elements group (0x0002)
- Old '24 Bits' ACR-NEMA are now correctly re-written in DICOM V3 mode.
- Element 0x0000 of Shadow groups is always forced to be a ValEntry and its VR is forced to UL -
- +
- A.P.I. breaking modifications (since previous version : 1.0)
- NEVER more API breaking modifications !!! - +
- Known bugs
-
- Use of Implicit Value Representation writting mode may - causes troubles, when there are some SQ belonging to a - Shadow Group.
- Better you use Explicit Value Representation writting mode ... +