+2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDicomDirElement.h, gdcmDict.h : rename AddNewXxx methods to AddXxx.
+ * src/gdcmDict.h : rename GetDictEntry moethod to GetEntry, to be coherent
+ with other method names
+ * gdcmPython/gdcm.i : bug fix. Add the typemaps for the TagName type
+ * Test/TestDicomDirElement.cxx : add new test
+
2005-01-22 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Finish the CreateUniqueUID stuff. Seems to compiled/runs on every
- plateforms ITK support. Had some troubles with uint64_t on Win32, go to
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_langref_data_type_ranges.asp
- for more info. Basically you can not used 'unsigned' __int8 in an ostream.
- So can't you use __int64 in ostream at all.
+ plateforms ITK support. Had some troubles with uint64_t on Win32, go to
+ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_langref_data_type_ranges.asp
+ for more info. Basically you can not used 'unsigned' __int8 in an ostream.
+ So can't you use __int64 in ostream at all.
2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* bug fix for compilation on MSVC6
2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* ENH for DicomDir, DicomDirPatient, DicomDirStudy,
- DicomDirSerie, DicomDirImage
- Dict, DictSet classes :
+ DicomDirSerie, DicomDirImage
+ Dict, DictSet classes :
-add method GetFirstEntry to replace call to InitTraversal+GetNextEntry
-remove InitTraversal method.
- * UPD Test programs + Example programs
+ * UPD Test programs + Example programs
2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
- remove useless and never updated keyword \ingroup
+ remove useless and never updated keyword \ingroup
2005-01-17 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* src/gdcmUtil.cxx : bug fix to find the Windows MAC address. Now, there
* gdcmPython/demo : add python demos using VTK
2005-01-16 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
- * FIX 'Dictionnary' is now spelt 'Dictionary'
- 'wether' is now spelt 'whether'
- 'archieve' is now spelt 'archive' ;-)
+ * FIX 'Dictionnary' is now spelt 'Dictionary'
+ 'wether' is now spelt 'whether'
+ 'archieve' is now spelt 'archive' ;-)
2005-01-15 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* ADD DicomDir, DicomDirPatient, DicomDirStudy, DicomDirSerie, DicomDirImage
- related methods, in order not to expose internal mechanisms
+ related methods, in order not to expose internal mechanisms
InitTraversal();
GetNextEntry();
- * REM methods that exposed internal mechanisms :
+ * REM methods that exposed internal mechanisms :
DicomDir::GetDicomDirPatients()
DicomDirPatient::GetDicomDirStudies()
DicomDirStudy::GetDicomDirSeries()
DicomDirSerie::GetDicomDirImages()
- * UPD Test programs :
- makeDicomDir.cxx
- BuildUpDicomDir.cxx
- TestDicomDir.cxx
- * UPD Example program
- PrintDicomDir.cxx
+ * UPD Test programs :
+ makeDicomDir.cxx
+ BuildUpDicomDir.cxx
+ TestDicomDir.cxx
+ * UPD Example program
+ PrintDicomDir.cxx
* ADD DictSet methods
InitTraversal()
GetNextEntry()
2005-01-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Removed the Print/indent/default parameter mess. There is absolutely no
- reason to have to methods, moreover with the second taking the ostream as
- *SECOND* parameter. This was clearly a bad hack to get things compile.
+ reason to have to methods, moreover with the second taking the ostream as
+ *SECOND* parameter. This was clearly a bad hack to get things compile.
2005-01-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Complete rewrite of the GetMacAddress code. Now the code is *much*
- smaller (no more MacOSX specific crap). A lot more POSIX oriented.
- Unfortunately the main code does not work on SunOS, thus provide a specific
- code for this platform only (and Win32 of course). Since this seems to be
- working, change CreateUniqueUID to use GetMACAddress instead of the
- problematic GctestetIPAddress
+ smaller (no more MacOSX specific crap). A lot more POSIX oriented.
+ Unfortunately the main code does not work on SunOS, thus provide a specific
+ code for this platform only (and Win32 of course). Since this seems to be
+ working, change CreateUniqueUID to use GetMACAddress instead of the
+ problematic GctestetIPAddress
2005-01-14 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Unfortunately to be able to test gdcmDirList I had to break the API
2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* ENH - Comment out Mathieu's (dangerous) Super Hack
- for dealing with BIGENDIAN processors
- - Move equivalent stuff to BinEntry::WriteContent
- When necessary, 16 Bits Pixels are swapped in a small buffer
- and then written. This avoid allocating a huge buffer, in
- PixelWriteConvertor, and avoid modifying the Pixel Area.
- Note :
- Probabely, the same operation will have to be done when we want
- to write image with Big Endian Transfert Syntax,
- and we are working on Little Endian Processor
-
+ for dealing with BIGENDIAN processors
+ - Move equivalent stuff to BinEntry::WriteContent
+ When necessary, 16 Bits Pixels are swapped in a small buffer
+ and then written. This avoid allocating a huge buffer, in
+ PixelWriteConvertor, and avoid modifying the Pixel Area.
+ Note :
+ Probabely, the same operation will have to be done when we want
+ to write image with Big Endian Transfert Syntax,
+ and we are working on Little Endian Processor
+
2005-01-14 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* src/gdcmDocument.[h|cxx] : comment all methods concerning a flat hash
table.
2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* merging of Test/PrintDicomDir and Test/TestDicomDir
- * removal of now redundant Test/PrintDicomDir
- * enhancement of Example/PrintDicomDir
+ * removal of now redundant Test/PrintDicomDir
+ * enhancement of Example/PrintDicomDir
2005-01-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* Now, python test might work on systems
2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* FIX : First entry following group 0002 was lost for
- Explicit Big Endian Transfer Syntax files
+ Explicit Big Endian Transfer Syntax files
(group and elem not swaped)
-
+
2005-01-12 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* FIX : Old quick and dirty 'optimistic' heuristic to deal with
- Big Endian Transfer Syntax supposed the group following 0002
- begins always by element 0000 (element 0000 is *optional*)
- To avoid further troubles, let's be pessimistic, and use
- Document::HandleOutOfGroup0002() method
- * FIX : comparison between GDCM_NOTLOADED and Transfer Syntax
+ Big Endian Transfer Syntax supposed the group following 0002
+ begins always by element 0000 (element 0000 is *optional*)
+ To avoid further troubles, let's be pessimistic, and use
+ Document::HandleOutOfGroup0002() method
+ * FIX : comparison between GDCM_NOTLOADED and Transfer Syntax
(related pb not yet solved)
2005-01-12 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
2005-01-11 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* Replace confusing name SwitchSwapToBigEndian name by SwitchByteSwapCode
* Add the Document::HandleOutOfGroup0002(uint16_t group) method
- to swap the Swap Code, at parsing time, when we come out of group 0002
- and Transfer Syntax is Big Endian
- We should be able to read now 'true DICOM" Big Endian coded images
- * Add optional run time SetDebugOn (last param) for PrintHeader, PrintFile
- * Replace the french 'Transfert Syntax' by the english 'Transfer Syntax'
+ to swap the Swap Code, at parsing time, when we come out of group 0002
+ and Transfer Syntax is Big Endian
+ We should be able to read now 'true DICOM" Big Endian coded images
+ * Add optional run time SetDebugOn (last param) for PrintHeader, PrintFile
+ * Replace the french 'Transfert Syntax' by the english 'Transfer Syntax'
2005-01-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Hopefully fix the bug on MacOSX and static global initialization.
2005-01-08 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Fix bug on MacOSX with static initialization in a multy threaded
- environment. static const string in a header file used to be ill
- initialized provoquing the freeze of any tests. patch should solve this
- issue.
+ environment. static const string in a header file used to be ill
+ initialized provoquing the freeze of any tests. patch should solve this
+ issue.
2005-01-08 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* According to Benoit's suggestion, and without any objection from anybody
* Removal of useless and dangerous methods :
GetEntryByName, GetEntryVRByName, GetDocEntryByName, SetEntryByName
GetDocEntryByName, GetEntryByName, GetDictEntryByName
- * Removal of usless methods :
+ * Removal of usless methods :
Dict::PrintByName, Dict::GetDictEntryByName
* Commenting out of probabely useless methods :
Dict::GetDictEntryNames()
Dict::GetDictEntryNamesByCategory()
DictSet::GetPubDictEntryNames()
- DictSet::GetPubDictEntryNamesByCategory()
- * ENH : New Dicom Dictionary (with Value Multiplicity) is now used
- * ENH : Use dicomTS.dic as described in 2004 version
- * ENH : Removal out of the Dicom Dictionary of non dicom 'fourth' field
+ DictSet::GetPubDictEntryNamesByCategory()
+ * ENH : New Dicom Dictionary (with Value Multiplicity) is now used
+ * ENH : Use dicomTS.dic as described in 2004 version
+ * ENH : Removal out of the Dicom Dictionary of non dicom 'fourth' field
Add to the Dicom Dictionary of Dicom 'Value Multiplicity' field
- Add Accessors on VM (Value Multiplicity), and VM related methods
+ Add Accessors on VM (Value Multiplicity), and VM related methods
* ADD : Add a list of 'Dicom Attribute types', as found in
http://medical.nema.org/dicom/2004/04_15PU.PDF
- Unused till now...
- * ADD : Add dicomGroupNameAbbreviations.dic
+ Unused till now...
+ * ADD : Add dicomGroupNameAbbreviations.dic
should be used to write a method to replace the former
Dict::GetDictEntryNamesByCategory()
2005-01-05 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
* ADD : Add the method Util::IsCurrentProcessorBigEndian
(we'll need it for 'Explicit VR Big Endian' Transfert Syntax)
- * ADD Method Document::ComputeGroupLength
- * ENH : now parsing creates a Vitual DictEntry for Pixels Element,
+ * ADD Method Document::ComputeGroupLength
+ * ENH : now parsing creates a Vitual DictEntry for Pixels Element,
in order to allow further VR modification by user
- * REM : removal of once-called method File::WriteBase
- integration of its code in formerly one-line method File::Write
+ * REM : removal of once-called method File::WriteBase
+ integration of its code in formerly one-line method File::Write
2005-01-05 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* src/gdcmCommon.h : add the GDCM_UNKNOWN constant. This constant is to
A lot of things should be OK again.
It's really urgent to have a test suite that *tests*,
to prevent Frog's beautifying sessions to break all the stuff
- (twice, withing a fortnigh ...)
+ (twice, withing a fortnigh ...)
2004-06-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of
ADD virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0;
ADD gdcmDocEntry *GetDocEntryByName(std::string name);
ADD virtual std::string GetEntryByNumber(guint16 group,guint16 element) = 0;
- ADD std::string GetEntryByName(TagName name);
+ ADD std::string GetEntryByName(TagName name);
ADD gdcmDictEntry *NewVirtualDictEntry(guint16 group,
guint16 element,
std::string vr = "unkn",
REM gdcmDocEntry *NewDocEntryByName (std::string Name);
REM gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element);
REM gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element);
-
- - gdcmElementSet
- ADD virtual void Write(FILE *fp, FileType filetype);
-
+
+ - gdcmElementSet
+ ADD virtual void Write(FILE *fp, FileType filetype);
+
- gdcmSeqEntry
- ADD virtual void Write(FILE *fp,FileType filetype);
+ ADD virtual void Write(FILE *fp,FileType filetype);
- gdcmSQItem
ADD virtual void Write(FILE *fp, FileType filetype);
- ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element);
+ ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element);
REM std::string GetEntryByNumber(guint16 group, guint16 element);
REM std::string GetEntryByName(TagName name);
- gdcmValEntry
- ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype);
-
+ ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype);
+
2004-06-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* Test/TestWriteSimple.cxx: fix to gdcmHeader-gdcmHeaderHelper revamping.
The default constructor invoked by the line
- Specific clean up of Parse7FE0() (umproperly named actually).
* gdcmPython/testSuite.py: an odd temporary kludge introduced.
-2004-06-14 Jean-Pierre Roux
+2004-06-14 Jean-Pierre Roux
* gdcmSeqEntry.cxx
- - fix the display of Sequence Delimitor (SQDepthLevel pb)
- - fix the display of SQItem ordinal number
+ - fix the display of Sequence Delimitor (SQDepthLevel pb)
+ - fix the display of SQItem ordinal number
- add the GetSQItemByOrdinalNumber method
- - remove some useless never written private methods
-
+ - remove some useless never written private methods
+
2004-06-14 Jean-Pierre Roux
* gdcmBinEntry.cxx
- adding a constructor taking a gdcmDocEntry as an input param
- - ReplaceOrCreateByNumber now returns :
- a gdcmBinEntry * if a Binary (void *) value is passed as a param
- a gdcmValEntry * if a string value is passed as a param
+ - ReplaceOrCreateByNumber now returns :
+ a gdcmBinEntry * if a Binary (void *) value is passed as a param
+ a gdcmValEntry * if a string value is passed as a param
* dcmDocument.cxx
- SetEntryByNumber now allows setting gdcmValEntry or gdcmBinEntry,
- according to the param type (no longer sets a gdcmDocEntry)
- - GetValEntryByNumber, GetBinEntryByNumber added
+ according to the param type (no longer sets a gdcmDocEntry)
+ - GetValEntryByNumber, GetBinEntryByNumber added
- NewValEntryByNumber and NewBinEntryByNumber added
* gdcmFile.cxx
- Pixel Data are now linked to the (7fe0,0010) elements, after reading
- GetSQItemNumber and SetSQItemNumber added, to provide
a (relative) Item identier inside a given Sequence
\warning : some pb remaining around this number
- will be solved asap
- - AddEntry now takes the Item Number as a param
+ will be solved asap
+ - AddEntry now takes the Item Number as a param
* gdcmValEntry.cxx
- - adding a constructor taking a gdcmDocEntry as an input param
+ - adding a constructor taking a gdcmDocEntry as an input param
2004-06-14 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* Memory leak hunt with the following command:
SeQuence indented printing of Dicom Header.
* ENH merge methods gdcmParser::Parse and gdcmParser::LoadHeaderEntries
into the single gdcmParser::LoadHeaderEntries for efficiency purpose.
- Computation of SQDepthLevel is now part of gdcmHeader constructor
+ Computation of SQDepthLevel is now part of gdcmHeader constructor
* ENH add self defined param 'new' to PrintHeader to 'show' the SeQuence
tree-like structure of a Dicom Header.
* FIX Test code cleaning
* ENH Minor changes to the Print() methods.
* ADD gdcmParser::PrintEntryNiceSQ() to allow SQ-indented
Header printing. Example given with :
- > PrintHeader fileName 2 new
+ > PrintHeader fileName 2 new
(SQ based tree-like structure still to be done for the Header ...)
-
+
2004-04-22 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* ENH: Some cosmetic clean up for compilation with -W -Wall -Werror
1. I have added some unsigned where needed
* FIX gdcmHeaderHelper::GetXSpacing
when a single value is found (bug ?), xpacing is now
defaulted to yspacing
-
+
2004-04-19 Jean-Pierre Roux
* ADD gdcmData/Wrist.pap (PAPYRUS 3.0 -single frame-) for checking purpose
* ENH add parameters :
bool exception_on_error = false,
bool enable_sequences = false,
- bool ignore_shadow = false
+ bool ignore_shadow = false
to the gdcmFile constructors to be full gdcmParser compliant
* FIX vtk/vtkGdcmReader.cxx now uses enable_sequences = true in gdcmFile
to allow reading of PAPYRUS 3.0 files
-
+
2004-04-06 Jean-Pierre Roux
* ADD gdcmData/E00001S03I0015.dcm for SQ checking purpose
* ADD : Test/checksequence.sh, for a general recap on SQ pb
* FIX : gdcmParser::WriteEntryTagVRLength emprovement of special treatement
for Philips spurious Tag fffe|0000 while rewritting Dicom files
-
+
2004-03-30 Jean-Pierre Roux
* FIX gdcmParser::ReplaceOrCreateByNumber shouldn't seg fault any more
for ACR file, written out as DICOM files (hope so...)
from gdcmParser::WriteEntry to gdcmParser::WriteEntries
* FIX : gdcmObject::ResetBoundaries now stops properly
when end-of-list is reached
- : gdcmVersion modified (as Benoit Regrain asked)
+ : gdcmVersion modified (as Benoit Regrain asked)
2004-03-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* src/gdcmParser.cxx: removal of all TAB character. Indentation fixed.
add gdcmDicomDirPatient:NewStudy
add gdcmDicomDirStudy:NewSerie
add gdcmDicomDirSerie:NewImage
- to allow making gdcDicomDir object.
+ to allow making gdcDicomDir object.
* ADD PrintDicomDir executable that uses gdcmDicomDir tree-like structure
(as opposite to the gdcmHeader chained list)
2004-02-11 Benoit Regrain
* FIX : memory leaks and the set of ArgDelete methods in gdcmDicomDir
when using from python
-
+
2004-02-10 Benoit Regrain
* FIX : bug fix in the gdcmDirList for the recursivity in directories
* FIX : in gdcmDicomDir when the directory is empty
not longer on the TagElValueHT tagHt member
* ENH : PrintPubElVal shows (temporarily) both results,
with the tagHt member and the listElem member.
- (it's easier to 'see' the problems when using Printheader)
+ (it's easier to 'see' the problems when using Printheader)
* FIX : old private member LgrElem is now splitted into
ReadLength : Length actually found on disk (updated only
- if bug fixing is necessary), for internal
- use only
- UsableLength : Updated by FixFoundLength, to fix a bug
- or to allow Parser going on.
- Will allow to re-write a kosher header when a SeQuence
- with a length (not 0000) is found
+ if bug fixing is necessary), for internal
+ use only
+ UsableLength : Updated by FixFoundLength, to fix a bug
+ or to allow Parser going on.
+ Will allow to re-write a kosher header when a SeQuence
+ with a length (not 0000) is found
Warning : gdcmFile::Write still uses the TagHt (not ListElem)
- because gdcmElValSet::Add does not update ListElem
- (to be written)
+ because gdcmElValSet::Add does not update ListElem
+ (to be written)
2003-11-07 Jean-Pierre Roux
* FIX misstyping in Transfert Syntax name table
2003-10-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* ENH: Can be used like this '$vtkgdcmViewer *.dcm' with *.dcm
- being coherents dicom files.
+ being coherents dicom files.
2003-10-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* FIX: DOH ! Forgot about windo$e users, they couldn't read lossless jpeg,
- deals with YcBcR (YBR_FULL) files
- deals with YBR_YBR_FULL_422 files (they work as RBG files ?!?)
WARNING : nothing was checked for YBR_PARTIAL_422, YBR_ICT,
- YBR_RCT files.
+ YBR_RCT files.
(no sample found :-(
2003-10-02 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
Program: gdcm
Module: $RCSfile: TestChangeHeader.cxx,v $
Language: C++
- Date: $Date: 2005/01/21 11:40:52 $
- Version: $Revision: 1.8 $
+ Date: $Date: 2005/01/24 14:14:08 $
+ Version: $Revision: 1.9 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// 0018 1310 US ACQ Acquisition Matrix
gdcm::DictEntry *dictEntry =
- f2->GetFile()->GetPubDict()->GetDictEntry( 0x0018, 1310 );
+ f2->GetFile()->GetPubDict()->GetEntry( 0x0018, 1310 );
std::cerr << std::hex << dictEntry->GetGroup() << "," << dictEntry->GetElement() << std::endl;
std::string matrix = f2->GetFile()->GetEntry(0x0018, 0x1310);
TestHash.cxx
TestTS.cxx
TestVR.cxx
+ TestDicomDirElement.cxx
TestUtil.cxx
TestDicomString.cxx
TestDict.cxx
--- /dev/null
+/*=========================================================================
+
+ Program: gdcm
+ Module: $RCSfile: TestDicomDirElement.cxx,v $
+ Language: C++
+ Date: $Date: 2005/01/24 14:14:09 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#include "gdcmDicomDirElement.h"
+
+#include <iostream>
+
+int TestDicomDirElement(int , char *[])
+{
+ gdcm::DicomDirElement ddElt;
+ ddElt.Print( std::cout );
+
+ return 0;
+}
Program: gdcm
Module: $RCSfile: TestDict.cxx,v $
Language: C++
- Date: $Date: 2005/01/18 07:56:21 $
- Version: $Revision: 1.4 $
+ Date: $Date: 2005/01/24 14:14:09 $
+ Version: $Revision: 1.5 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
const int ENTRY_GR = 0x10;
const int ENTRY_EL = 0x20;
std::string key=gdcm::DictEntry::TranslateToKey(ENTRY_GR,ENTRY_EL);
- gdcm::DictEntry *entry=pubDict->GetDictEntry(ENTRY_GR,ENTRY_EL);
+ gdcm::DictEntry *entry=pubDict->GetEntry(ENTRY_GR,ENTRY_EL);
if(!entry)
{
std::cout<<"The DictEntry hasn't be found... Failed\n";
entry=pubDict->GetFirstEntry();
while(entry)
{
- entry->Print();
+ std::cout << entry->GetGroup() << "|" << entry->GetElement()
+ << " [" << entry->GetVR() << "] - M" << entry->GetVM()
+ << " : " << entry->GetName() << " ( " << entry->GetKey() << ")\n";
entry=pubDict->GetNextEntry();
}
except IndexError:
printLevel = 1
-### Build the header element list
+### Build the DicomDir element list
dicomdir = gdcm.DicomDir(fileName)
if not dicomdir.IsReadable():
print
# Print the DictSet
dicts=gdcm.Global.GetDicts()
if(not isinstance(dicts,gdcm.DictSet)):
- raise RuntimeError,"The DictSet hasn't the good type (%s)" % type(dicts)
+ raise RuntimeError,"The DictSet hasn't the good type (%s)" % type(dicts)
print "DictSet content :"
dicts.Print()
# Print the Dict (public)
pubDict=dicts.GetDefaultPubDict()
if(not isinstance(pubDict,gdcm.Dict)):
- raise RuntimeError,"The public Dict hasn't the good type (%s)" % type(dict)
+ raise RuntimeError,"The public Dict hasn't the good type (%s)" % type(dict)
print "Public Dict content :"
pubDict.Print()
# Print the DictEntry (0010|0020)
ENTRY_GR = 0x10
ENTRY_EL = 0x20
-entry=pubDict.GetDictEntry(ENTRY_GR,ENTRY_EL)
+entry=pubDict.GetEntry(ENTRY_GR,ENTRY_EL)
if(not isinstance(entry,gdcm.DictEntry)):
- raise RuntimeError,"The entry (%04x|%04x) hasn't the good type (%s)" % \
- (ENTRY_GR,ENTRY_EL,type(entry))
+ raise RuntimeError,"The entry (%04x|%04x) hasn't the good type (%s)" % \
+ (ENTRY_GR,ENTRY_EL,type(entry))
print "Entry (%04x|%04x) content :" % (ENTRY_GR,ENTRY_EL)
entry.Print()
print "dict content :"
entry=pubDict.GetFirstEntry()
while(entry):
- entry.Print()
- entry=pubDict.GetNextEntry()
+ print "%4x|%4x [%s] - M%s : %s (%s)" %\
+ (entry.GetGroup(),entry.GetElement(),entry.GetVR(),entry.GetVM(),
+ entry.GetName(),entry.GetKey())
+ entry=pubDict.GetNextEntry()
except IndexError:
printLevel = 1
-### Build the header element list
+### Build the file element list
print fileName, type(fileName)
-header = gdcm.Header(fileName)
-if not header.IsReadable():
+file = gdcm.File(fileName)
+if not file.IsReadable():
raise RuntimeError,"The '%s' file is not readable with gdcm." % fileName
print "##############################################################"
print "## found in the ", fileName, " file."
print "##############################################################"
-val=header.GetFirstEntry()
+val=file.GetFirstEntry()
while(val):
- val.Print()
- print ""
- val=header.GetNextEntry()
+ val.Print()
+ print ""
+ val=file.GetNextEntry()
val=None
%module gdcm
%{
+#include <iostream>
+
#include "gdcmCommon.h"
#include "gdcmBase.h"
#include "gdcmDict.h"
/////////////////////// typemap section ////////////////////////////////////
+////////////////////////////////////////////////
+// Redefine all types used
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
////////////////////////////////////////////////
// Convert a DocEntry * to the real derived class
%typemap(out) gdcm::DocEntry *
////////////////////////////////////////////////
// Convert an STL list<> to a python native list
-%typemap(out) std::list<std::string> *
-{
- PyObject *newItem = (PyObject *)0;
- PyObject *newList = PyList_New(0); // The result of this typemap
-
- for (std::list<std::string>::iterator strIt = ($1)->begin();
- strIt != ($1)->end();
- ++strIt)
- {
- newItem = PyString_FromString(strIt->c_str());
- PyList_Append( newList, newItem);
- }
- $result = newList;
-}
+//%typemap(out) std::list<std::string> *
+//{
+// PyObject *newItem = (PyObject *)0;
+// PyObject *newList = PyList_New(0); // The result of this typemap
+//
+// for (std::list<std::string>::iterator strIt = ($1)->begin();
+// strIt != ($1)->end();
+// ++strIt)
+// {
+// newItem = PyString_FromString(strIt->c_str());
+// PyList_Append( newList, newItem);
+// }
+// $result = newList;
+//}
//////////////////////////////////////////////////////////////////
// Convert an STL map<> (hash table) to a python native dictionary
-%typemap(out) std::map<std::string, std::list<std::string> > *
-{
- PyObject *newDict = PyDict_New(); // The result of this typemap
- PyObject *newKey = (PyObject *)0;
- PyObject *newVal = (PyObject *)0;
-
- for (std::map<std::string,
- std::list<std::string> >::iterator tag = ($1)->begin();
- tag != ($1)->end(); ++tag)
- {
- std::string first = tag->first;
- // Do not publish entries whose keys is made of spaces
- if (first.length() == 0)
- continue;
- newKey = PyString_FromString(first.c_str());
-
- PyObject *newList = PyList_New(0);
- for (std::list<std::string>::iterator itemIt = tag->second.begin();
- itemIt != tag->second.end();
- ++itemIt)
- {
- newVal = PyString_FromString(itemIt->c_str());
- PyList_Append( newList, newVal);
- }
- PyDict_SetItem( newDict, newKey, newList);
- }
- $result = newDict;
-}
+//%typemap(out) std::map<std::string, std::list<std::string> > *
+//{
+// PyObject *newDict = PyDict_New(); // The result of this typemap
+// PyObject *newKey = (PyObject *)0;
+// PyObject *newVal = (PyObject *)0;
+//
+// for (std::map<std::string,
+// std::list<std::string> >::iterator tag = ($1)->begin();
+// tag != ($1)->end(); ++tag)
+// {
+// std::string first = tag->first;
+// // Do not publish entries whose keys is made of spaces
+// if (first.length() == 0)
+// continue;
+// newKey = PyString_FromString(first.c_str());
+//
+// PyObject *newList = PyList_New(0);
+// for (std::list<std::string>::iterator itemIt = tag->second.begin();
+// itemIt != tag->second.end();
+// ++itemIt)
+// {
+// newVal = PyString_FromString(itemIt->c_str());
+// PyList_Append( newList, newVal);
+// }
+// PyDict_SetItem( newDict, newKey, newList);
+// }
+// $result = newDict;
+//}
/////////////////////////////////////////////////////////
// Convert a c++ hash table in a python native dictionary
-%typemap(out) gdcm::TagDocEntryHT &
-{
- PyObject *newDict = PyDict_New(); // The result of this typemap
- std::string rawName; // Element name as gotten from gdcm
- PyObject *newKey = (PyObject *)0; // Associated name as python object
- std::string rawValue; // Element value as gotten from gdcm
- PyObject *newVal = (PyObject *)0; // Associated value as python object
-
- for (gdcm::TagDocEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag)
- {
- // The element name shall be the key:
- rawName = tag->second->GetName();
- // gdcm unrecognized (including not loaded because their size exceeds
- // the user specified treshold) elements are exported with their
- // TagKey as key.
- if (rawName == "Unknown")
- rawName = tag->second->GetKey();
- newKey = PyString_FromString(rawName.c_str());
-
- // Element values are striped from leading/trailing spaces
- gdcm::ValEntry *valEntryPtr = dynamic_cast< gdcm::ValEntry* >(tag->second);
- if ( valEntryPtr )
- {
- rawValue = valEntryPtr->GetValue();
- }
- else
- continue;
- newVal = PyString_FromString(rawValue.c_str());
- PyDict_SetItem( newDict, newKey, newVal);
- }
- $result = newDict;
-}
+//%typemap(out) gdcm::TagDocEntryHT &
+//{
+// PyObject *newDict = PyDict_New(); // The result of this typemap
+// std::string rawName; // Element name as gotten from gdcm
+// PyObject *newKey = (PyObject *)0; // Associated name as python object
+// std::string rawValue; // Element value as gotten from gdcm
+// PyObject *newVal = (PyObject *)0; // Associated value as python object
+//
+// for (gdcm::TagDocEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag)
+// {
+// // The element name shall be the key:
+// rawName = tag->second->GetName();
+// // gdcm unrecognized (including not loaded because their size exceeds
+// // the user specified treshold) elements are exported with their
+// // TagKey as key.
+// if (rawName == "Unknown")
+// rawName = tag->second->GetKey();
+// newKey = PyString_FromString(rawName.c_str());
+//
+// // Element values are striped from leading/trailing spaces
+// gdcm::ValEntry *valEntryPtr = dynamic_cast< gdcm::ValEntry* >(tag->second);
+// if ( valEntryPtr )
+// {
+// rawValue = valEntryPtr->GetValue();
+// }
+// else
+// continue;
+// newVal = PyString_FromString(rawValue.c_str());
+// PyDict_SetItem( newDict, newKey, newVal);
+// }
+// $result = newDict;
+//}
/////////////////////////////////////
-%typemap(out) ListDicomDirPatient &
-{
- PyObject *newItem = (PyObject *)0;
- $result = PyList_New(0); // The result of this typemap
-
- for (std::list<gdcm::DicomDirPatient *>::iterator newIt = ($1)->begin();
- newIt != ($1)->end(); ++newIt)
- {
- newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirPatient,0);
- PyList_Append($result, newItem);
- }
-}
-
-%typemap(out) ListDicomDirStudy &
-{
- PyObject *newItem = (PyObject *)0;
- $result = PyList_New(0); // The result of this typemap
-
- for (std::list<gdcm::DicomDirStudy *>::iterator newIt = ($1)->begin();
- newIt != ($1)->end(); ++newIt)
- {
- newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirStudy,0);
- PyList_Append($result, newItem);
- }
-}
-
-%typemap(out) ListDicomDirSerie &
-{
- PyObject* newItem = (PyObject*)0;
- $result = PyList_New(0); // The result of this typemap
-
- for (std::list<gdcm::DicomDirSerie *>::iterator newIt = ($1)->begin();
- newIt != ($1)->end(); ++newIt)
- {
- newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirSerie,0);
- PyList_Append($result, newItem);
- }
-}
-
-%typemap(out) ListDicomDirImage &
-{
- PyObject* newItem = (PyObject*)0;
- $result = PyList_New(0); // The result of this typemap
-
- for (std::list<gdcm::DicomDirImage *>::iterator newIt = ($1)->begin();
- newIt != ($1)->end(); ++newIt)
- {
- newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirImage,0);
- PyList_Append($result, newItem);
- }
-}
+//%typemap(out) ListDicomDirPatient &
+//{
+// PyObject *newItem = (PyObject *)0;
+// $result = PyList_New(0); // The result of this typemap
+//
+// for (std::list<gdcm::DicomDirPatient *>::iterator newIt = ($1)->begin();
+// newIt != ($1)->end(); ++newIt)
+// {
+// newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirPatient,0);
+// PyList_Append($result, newItem);
+// }
+//}
+
+//%typemap(out) ListDicomDirStudy &
+//{
+// PyObject *newItem = (PyObject *)0;
+// $result = PyList_New(0); // The result of this typemap
+//
+// for (std::list<gdcm::DicomDirStudy *>::iterator newIt = ($1)->begin();
+// newIt != ($1)->end(); ++newIt)
+// {
+// newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirStudy,0);
+// PyList_Append($result, newItem);
+// }
+//}
+
+//%typemap(out) ListDicomDirSerie &
+//{
+// PyObject* newItem = (PyObject*)0;
+// $result = PyList_New(0); // The result of this typemap
+//
+// for (std::list<gdcm::DicomDirSerie *>::iterator newIt = ($1)->begin();
+// newIt != ($1)->end(); ++newIt)
+// {
+// newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirSerie,0);
+// PyList_Append($result, newItem);
+// }
+//}
+
+//%typemap(out) ListDicomDirImage &
+//{
+// PyObject* newItem = (PyObject*)0;
+// $result = PyList_New(0); // The result of this typemap
+//
+// for (std::list<gdcm::DicomDirImage *>::iterator newIt = ($1)->begin();
+// newIt != ($1)->end(); ++newIt)
+// {
+// newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirImage,0);
+// PyList_Append($result, newItem);
+// }
+//}
////////////////////////////////////////////////////////////////////////////
// Multi-argument typemap designed for wrapping the progress related methods
$1 = new std::string( PyString_AsString( $input ) );
}
+//////////////////// gdcm.TagName versus Python str //////////////////////
+%typemap(out) gdcm::TagName, const gdcm::TagName &
+{
+ $result = PyString_FromString(($1)->c_str());
+}
+
+// Convertion of incoming Python str to STL string
+%typemap(python, in) const gdcm::TagName, gdcm::TagName
+{
+ $1 = PyString_AsString($input);
+}
+
+// Same convertion as above but references (since swig converts C++
+// refererences to pointers)
+%typemap(python, in) gdcm::TagName const &
+{
+ $1 = new std::string( PyString_AsString( $input ) );
+}
+
+
////////////////////////////////////////////////////////////////////////////
// Because overloading and %rename don't work together (see below Note 1)
// we need to ignore some methods (e.g. the overloaded default constructor).
%include "gdcmBase.h"
%include "gdcmDictEntry.h"
%include "gdcmDict.h"
+%include "gdcmDictSet.h"
%include "gdcmDocEntrySet.h"
%include "gdcmElementSet.h"
-%include "gdcmDictSet.h"
%include "gdcmSQItem.h"
%include "gdcmDicomDirElement.h"
%include "gdcmDicomDirObject.h"
Program: gdcm
Module: $RCSfile: gdcm.h,v $
Language: C++
- Date: $Date: 2005/01/21 11:40:55 $
- Version: $Revision: 1.51 $
+ Date: $Date: 2005/01/24 14:14:10 $
+ Version: $Revision: 1.52 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// General purpose include file. This file should be included by
// external users of gdcm. It exposes the necessary API.
-#include "gdcmException.h"
#include "gdcmCommon.h"
#include "gdcmDictEntry.h"
Program: gdcm
Module: $RCSfile: gdcmDefaultDicts.cxx.in,v $
Language: C++
- Date: $Date: 2005/01/20 17:15:54 $
- Version: $Revision: 1.6 $
+ Date: $Date: 2005/01/24 14:14:10 $
+ Version: $Revision: 1.7 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
while( n.name != 0 )
{
const DictEntry e( n.group, n.element, n.vr, n.vm, n.name);
- d->AddNewEntry( e );
+ d->AddEntry( e );
n = datadir[++i];
}
}
elem.Group = e.group;
elem.Elem = e.element;
elem.Value = e.value;
- dde->AddNewEntry( type, elem);
+ dde->AddEntry( type, elem);
e = dataElement[++i];
}
}
Program: gdcm
Module: $RCSfile: gdcmDicomDir.cxx,v $
Language: C++
- Date: $Date: 2005/01/23 10:12:33 $
- Version: $Revision: 1.114 $
+ Date: $Date: 2005/01/24 14:14:10 $
+ Version: $Revision: 1.115 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{
tmpGr = it->Group;
tmpEl = it->Elem;
- dictEntry = GetPubDict()->GetDictEntry(tmpGr, tmpEl);
+ dictEntry = GetPubDict()->GetEntry(tmpGr, tmpEl);
entry = new ValEntry( dictEntry ); // Be sure it's never a BinEntry !
Program: gdcm
Module: $RCSfile: gdcmDicomDirElement.cxx,v $
Language: C++
- Date: $Date: 2005/01/20 17:15:54 $
- Version: $Revision: 1.30 $
+ Date: $Date: 2005/01/24 14:14:10 $
+ Version: $Revision: 1.31 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
from.getline(buff, 1024, '"');
elem.Value = buff;
- AddNewEntry(type, elem);
+ AddEntry(type, elem);
}
from.getline(buff, 1024, '\n');
}
//-----------------------------------------------------------------------------
// Public
/**
- * \brief AddNewEntry
+ * \brief Add an entry
* @param type type
* @param elem elem
*/
-bool DicomDirElement::AddNewEntry(DicomDirType type,
- Element const &elem)
+bool DicomDirElement::AddEntry(DicomDirType type, Element const &elem)
{
switch( type )
{
Program: gdcm
Module: $RCSfile: gdcmDicomDirElement.h,v $
Language: C++
- Date: $Date: 2005/01/20 17:15:54 $
- Version: $Revision: 1.21 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.22 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{ return DicomDirImageList; };
// Public method to add an element
- bool AddNewEntry(DicomDirType type, Element const &elem);
+ bool AddEntry(DicomDirType type, Element const &elem);
private:
/// Elements chained list, related to the MetaElements of DICOMDIR
Program: gdcm
Module: $RCSfile: gdcmDicomDirObject.cxx,v $
Language: C++
- Date: $Date: 2005/01/20 16:16:42 $
- Version: $Revision: 1.17 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.18 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{
tmpGr = it->Group;
tmpEl = it->Elem;
- dictEntry = Global::GetDicts()->GetDefaultPubDict()->GetDictEntry(tmpGr,tmpEl);
+ dictEntry = Global::GetDicts()->GetDefaultPubDict()->GetEntry(tmpGr,tmpEl);
entry = new ValEntry(dictEntry);
entry->SetOffset(0); // just to avoid further missprinting
entry->SetValue(it->Value);
Program: gdcm
Module: $RCSfile: gdcmDict.cxx,v $
Language: C++
- Date: $Date: 2005/01/23 10:12:33 $
- Version: $Revision: 1.69 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.70 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
std::getline(from, name);
const DictEntry newEntry(group, element, vr, vm, name);
- AddNewEntry(newEntry);
+ AddEntry(newEntry);
}
Filename = filename;
* @param newEntry entry to add
* @return false if Dicom Element already exists
*/
-bool Dict::AddNewEntry(DictEntry const &newEntry)
+bool Dict::AddEntry(DictEntry const &newEntry)
{
const TagKey &key = newEntry.GetKey();
* @param elem element of the entry to be found
* @return the corresponding dictionary entry when existing, NULL otherwise
*/
-DictEntry *Dict::GetDictEntry(uint16_t group, uint16_t elem)
+DictEntry *Dict::GetEntry(uint16_t group, uint16_t elem)
{
TagKey key = DictEntry::TranslateToKey(group, elem);
TagKeyHT::iterator it = KeyHt.find(key);
return &(it->second);
}
-/**
- * \brief Consider all the entries of the public dicom dictionary.
- * Build all list of all the tag names of all those entries.
- * \sa DictSet::GetPubDictTagNamesByCategory
- * @return A list of all entries of the public dicom dictionary.
- */
-
-
- // Probabely useless
-
-
-//EntryNamesList *Dict::GetDictEntryNames()
-//{
-// EntryNamesList *result = new EntryNamesList;
-// for (TagKeyHT::iterator tag = KeyHt.begin(); tag != KeyHt.end(); ++tag)
-// {
-// result->push_back( tag->second.GetName() );
-// }
-// return result;
-//}
-
-/**
- * \brief Consider all the entries of the public dicom dictionary.
- * Build an hashtable whose keys are the names of the groups
- * (fourth field in each line of dictionary) and whose corresponding
- * values are lists of all the dictionary entries among that
- * group. Note that apparently the Dicom standard doesn't explicitely
- * define a name (as a string) for each group.
- * A typical usage of this method would be to enable a dynamic
- * configuration of a Dicom file browser: the admin/user can
- * select in the interface which Dicom tags should be displayed.
- * \warning Dicom *doesn't* define any name for any 'categorie'
- * (the dictionary fourth field was formerly NIH defined
- * - and no longer he is-
- * and will be removed when Dicom provides us a text file
- * with the 'official' Dictionary, that would be more friendly
- * than asking us to perform a line by line check of the dictionary
- * at the beginning of each year to -try to- guess the changes)
- * Therefore : please NEVER use that fourth field :-(
- *
- * @return An hashtable: whose keys are the names of the groups and whose
- * corresponding values are lists of all the dictionary entries
- * among that group.
- */
-
- // Probabely useless
-
-//EntryNamesByCatMap *Dict::GetDictEntryNamesByCategory()
-//{
-// EntryNamesByCatMap *result = new EntryNamesByCatMap;
-//
-// for (TagKeyHT::iterator tag = KeyHt.begin(); tag != KeyHt.end(); ++tag)
-// {
-// (*result)[tag->second.GetFourth()].push_back(tag->second.GetName());
-// }
-//
-// return result;
-//}
-
/**
* \brief Get the first entry while visiting the Dict entries
* \return The first DicEntry if found, otherwhise NULL
Program: gdcm
Module: $RCSfile: gdcmDict.h,v $
Language: C++
- Date: $Date: 2005/01/20 11:39:49 $
- Version: $Revision: 1.34 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.35 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
//-----------------------------------------------------------------------------
typedef std::string DictKey;
typedef std::map<TagKey, DictEntry> TagKeyHT;
-typedef std::list<std::string> EntryNamesList;
-typedef std::map<std::string,
- std::list<std::string> > EntryNamesByCatMap;
+//typedef std::list<std::string> EntryNamesList;
+//typedef std::map<std::string,
+// std::list<std::string> > EntryNamesByCatMap;
//-----------------------------------------------------------------------------
/**
* \ingroup Dict
// Entries
void ClearEntry ();
- bool AddNewEntry (DictEntry const &newEntry);
+ bool AddEntry (DictEntry const &newEntry);
bool ReplaceEntry(DictEntry const &newEntry);
bool RemoveEntry (TagKey const &key);
bool RemoveEntry (uint16_t group, uint16_t elem);
// Tag
- DictEntry *GetDictEntry(uint16_t group, uint16_t elem);
-
- // EntryNamesList *GetDictEntryNames();
- // EntryNamesByCatMap *GetDictEntryNamesByCategory();
+ DictEntry *GetEntry(uint16_t group, uint16_t elem);
DictEntry *GetFirstEntry();
DictEntry *GetNextEntry();
Program: gdcm
Module: $RCSfile: gdcmDocEntrySet.cxx,v $
Language: C++
- Date: $Date: 2005/01/23 10:12:33 $
- Version: $Revision: 1.43 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.44 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmCommon.h"
#include "gdcmDictSet.h"
#include "gdcmGlobal.h"
-#include "gdcmException.h"
#include "gdcmDocEntry.h"
#include "gdcmSeqEntry.h"
#include "gdcmValEntry.h"
}
else
{
- found = pubDict->GetDictEntry(group, elem);
+ found = pubDict->GetEntry(group, elem);
}
return found;
}
Program: gdcm
Module: $RCSfile: gdcmDocEntrySet.h,v $
Language: C++
- Date: $Date: 2005/01/20 16:17:00 $
- Version: $Revision: 1.40 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.41 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#define GDCMDOCENTRYSET_H
#include "gdcmBase.h"
-#include "gdcmException.h"
#include <fstream>
namespace gdcm
Program: gdcm
Module: $RCSfile: gdcmDocument.cxx,v $
Language: C++
- Date: $Date: 2005/01/23 10:12:33 $
- Version: $Revision: 1.204 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.205 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmUtil.h"
#include "gdcmDebug.h"
#include "gdcmTS.h"
-#include "gdcmException.h"
#include "gdcmDictSet.h"
#include "gdcmRLEFramesInfo.h"
#include "gdcmJPEGFragmentsInfo.h"
Program: gdcm
Module: $RCSfile: gdcmDocument.h,v $
Language: C++
- Date: $Date: 2005/01/23 10:12:33 $
- Version: $Revision: 1.97 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.98 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmVR.h"
#include "gdcmDict.h"
#include "gdcmElementSet.h"
+#include "gdcmException.h"
#include <map>
#include <list>
Program: gdcm
Module: $RCSfile: gdcmSQItem.cxx,v $
Language: C++
- Date: $Date: 2005/01/19 15:24:28 $
- Version: $Revision: 1.55 $
+ Date: $Date: 2005/01/24 14:14:11 $
+ Version: $Revision: 1.56 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
Dict *pubDict = Global::GetDicts()->GetDefaultPubDict();
// if the invoked (group,elem) doesn't exist inside the Dictionary
// we create a VirtualDictEntry
- DictEntry *dictEntry = pubDict->GetDictEntry(group, elem);
+ DictEntry *dictEntry = pubDict->GetEntry(group, elem);
if (dictEntry == NULL)
{
dictEntry =