Program: gdcm
Module: $RCSfile: gdcmDataEntry.cxx,v $
Language: C++
- Date: $Date: 2005/11/14 18:54:04 $
- Version: $Revision: 1.21 $
+ Date: $Date: 2005/11/21 09:46:24 $
+ 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
//-----------------------------------------------------------------------------
// Protected
+/// \brief Creates a DataEntry owned BinArea (remove previous one if any)
void DataEntry::NewBinArea(void)
{
DeleteBinArea();
BinArea = new uint8_t[GetLength()];
SelfArea = true;
}
-
+/// \brief Removes the BinArea, if owned by the DataEntry
void DataEntry::DeleteBinArea(void)
{
if (BinArea && SelfArea)
Program: gdcm
Module: $RCSfile: gdcmDataEntry.h,v $
Language: C++
- Date: $Date: 2005/11/14 14:23:43 $
- Version: $Revision: 1.9 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ Version: $Revision: 1.10 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
gdcmTypeMacro(DataEntry);
public:
+/// \brief Contructs a DataEntry with a RefCounter from DictEntry
static DataEntry *New(DictEntry *e) {return new DataEntry(e);}
+/// \brief Contructs a DataEntry with a RefCounter from DocEntry
static DataEntry *New(DocEntry *d) {return new DataEntry(d);}
// Print
};
// State
+ /// \brief Sets the state (Loaded, NotLoaded, UnFound, ...) of the DataEntry
void SetState(const TValueState &state) { State = state; }
- const TValueState &GetState() const { return State; }
+ /// \brief Returns the state (Loaded, NotLoaded, ...) of the DataEntry
+ const TValueState &GetState() const { return State; }
/// \brief true when value Entry not loaded
bool IsNotLoaded() { return State == STATE_NOTLOADED; }
/// \brief true if Entry not found
/// \brief Entry status:STATE_NOTLOADED,STATE_UNFOUND,STATE_UNREAD,STATE_LOADED
TValueState State;
- /// \brief Size threshold above which an element val
- /// By default, this upper bound is fixed to 64 bytes.
+ /// \brief Size threshold above which an element is printed
static uint32_t MaxSizePrintEntry;
};
Program: gdcm
Module: $RCSfile: gdcmDicomDir.cxx,v $
Language: C++
- Date: $Date: 2005/11/07 10:14:44 $
- Version: $Revision: 1.172 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ Version: $Revision: 1.173 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
return DoTheLoadingJob( );
}
-#ifndef GDCM_LEGACY_REMOVE
-/* *
- * \ brief Loader. (DEPRECATED : kept not to break the API)
- * @ param fileName file to be open for parsing
- * @ return false if file cannot be open or no swap info was found,
- * or no tag was found.
- * @ deprecated use SetFileName(n) + Load() instead
- */
-bool DicomDir::Load(std::string const &fileName )
-{
- SetFileName(fileName);
- return Load();
-}
-
-/// DEPRECATED : use SetDirectoryName(dname) instead
-/* *
- * \brief Loader. (DEPRECATED : kept not to break the API)
- * @param paseDir Parse Dir
- * @deprecated use SetDirectoryName(dname) instead
- */
-void DicomDir::SetParseDir(bool parseDir)
-{
- ParseDir = parseDir;
-}
-#endif
-
/**
* \brief Does the Loading Job (internal use only)
* @return false if file cannot be open or no swap info was found,
Program: gdcm
Module: $RCSfile: gdcmDicomDir.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:33 $
- Version: $Revision: 1.69 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ 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
gdcmTypeMacro(DicomDir);
public:
+/// \brief Constructs a DicomDir with a RefCounter
static DicomDir *New() {return new DicomDir();}
typedef void Method(void*);
- GDCM_LEGACY( bool Load(std::string const &filename) );
bool Load( );
void Print(std::ostream &os = std::cout, std::string const &indent = "" );
virtual void SetFileName(std::string const &fileName)
{ ParseDir = false; if (Filename != fileName)
Filename = fileName, IsDocumentModified = true;}
-
- /// DEPRECATED : use SetDirectoryName
- GDCM_LEGACY( void SetParseDir(bool parseDir) );
// Informations contained in the parser
virtual bool IsReadable();
Program: gdcm
Module: $RCSfile: gdcmDicomDirElement.h,v $
Language: C++
- Date: $Date: 2005/10/26 08:04:15 $
- Version: $Revision: 1.34 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ 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
gdcmTypeMacro(DicomDirElement);
public:
+/// \brief Contructs a DicomDirElement with a RefCounter
static DicomDirElement *New() {return new DicomDirElement();}
/**
Program: gdcm
Module: $RCSfile: gdcmDicomDirImage.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:33 $
- Version: $Revision: 1.17 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ 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
gdcmTypeMacro(DicomDirImage);
public:
+/// \brief Constructs a DicomDirImage with a RefCounter
static DicomDirImage *New(bool empty=false) {return new DicomDirImage(empty);}
void Print(std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDicomDirMeta.h,v $
Language: C++
- Date: $Date: 2005/11/03 14:29:23 $
- Version: $Revision: 1.20 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ Version: $Revision: 1.21 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
gdcmTypeMacro(DicomDirMeta);
public:
+/// \brief Constructs a DicomDirMeta with a RefCounter
static DicomDirMeta *New(bool empty=false) {return new DicomDirMeta(empty);}
virtual void Print(std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDicomDirPatient.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:33 $
- Version: $Revision: 1.28 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ Version: $Revision: 1.29 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
gdcmTypeMacro(DicomDirPatient);
public:
+/// \brief Constructs a DicomDirPatient with a RefCounter
static DicomDirPatient *New(bool empty=false) {return new DicomDirPatient(empty);}
void Print(std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDicomDirSerie.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:33 $
- Version: $Revision: 1.30 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ 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
gdcmTypeMacro(DicomDirSerie);
public:
+/// \brief Constructs a DicomDirSerie with a RefCounter
static DicomDirSerie *New(bool empty=false) {return new DicomDirSerie(empty);}
void Print( std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDicomDirStudy.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:33 $
- Version: $Revision: 1.30 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ 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
gdcmTypeMacro(DicomDirStudy);
public:
+/// \brief Constructs a DicomDirStudy with a RefCounter
static DicomDirStudy *New(bool empty=false) {return new DicomDirStudy(empty);}
void Print(std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDicomDirVisit.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:34 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ Version: $Revision: 1.3 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
gdcmTypeMacro(DicomDirVisit);
public:
+/// \brief Constructs a DicomDirVisit with a RefCounter
static DicomDirVisit *New(bool empty=false) {return new DicomDirVisit(empty);}
void Print( std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDict.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:34 $
- Version: $Revision: 1.45 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ Version: $Revision: 1.46 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
gdcmTypeMacro(Dict);
public:
+/// \brief Contructs an empty Dict with a RefCounter
static Dict *New() {return new Dict();}
+/// \brief Contructs a Dict with a RefCounter
static Dict *New(std::string const &filename) {return new Dict(filename);}
bool AddDict(std::string const &filename);
Program: gdcm
Module: $RCSfile: gdcmDictGroupName.cxx,v $
Language: C++
- Date: $Date: 2005/10/26 08:04:15 $
- Version: $Revision: 1.6 $
+ Date: $Date: 2005/11/21 09:46:25 $
+ 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
namespace gdcm
{
//-----------------------------------------------------------------------------
-/// \brief auto generated function, to fill up the 'Value Representation'
+/// \brief auto generated function, to fill up the 'Group Name'
/// Dictionnary, if relevant file is not found on user's disk
void FillDefaultDictGroupName(DictGroupNameHT &groupName);
Program: gdcm
Module: $RCSfile: gdcmDictGroupName.h,v $
Language: C++
- Date: $Date: 2005/10/26 08:04:15 $
- Version: $Revision: 1.5 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.6 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
//-----------------------------------------------------------------------------
/**
- * \brief Container for dicom 'Value Representation' Hash Table.
+ * \brief Container for dicom 'Group Name' Hash Table.
+ * (formerly NIH defined ACR-NEMA group name)
* \note This is a singleton.
*/
class GDCM_EXPORT DictGroupName : public RefCounter
Program: gdcm
Module: $RCSfile: gdcmDictSet.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:34 $
- Version: $Revision: 1.49 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.50 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
/**
* \brief Container for managing a set of loaded dictionaries (Dict).
* \note Hopefully, sharing dictionaries should avoid
- * \par reloading an already loaded dictionary (saving time)
- * \par having many in memory representations of the same dictionary
+ * - reloading an already loaded dictionary (saving time)
+ * - having many in memory representations of the same dictionary
* (saving memory).
*/
class GDCM_EXPORT DictSet : public RefCounter
gdcmTypeMacro(DictSet);
public:
+/// \brief Contructs a DictSet with a RefCounter
static DictSet *New() {return new DictSet();}
void Print(std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmDirList.h,v $
Language: C++
- Date: $Date: 2005/10/23 15:32:31 $
- Version: $Revision: 1.26 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.27 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
//-----------------------------------------------------------------------------
-// NOTE: Due to a VC6 'feature' we cannot export a std::list in a dll,
+// NOTE: Due to a M$VC6 'feature' we cannot export a std::list in a dll,
// so GDCM_EXPORT keyword was removed for this class only
/**
Program: gdcm
Module: $RCSfile: gdcmDocEntrySet.h,v $
Language: C++
- Date: $Date: 2005/10/25 14:52:34 $
- Version: $Revision: 1.62 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.63 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
* - \ref ElementSet is based on the STL map<> container
* (see \ref ElementSet::TagHT)
* - \ref SQItem is based on an STL list container (see \ref ListDocEntry).
+ *
* Since the syntax for adding a new element to a map<> or a list<>
* differ, \ref DocEntrySet is designed as an adapter to unify the
* interfaces of \ref DocEntrySet and \ref ElementSet.
+ *
* As an illustration of this design, please refer to the implementation
* of \ref AddEntry (or any pure virtual method) in both derived classes.
* This adapter unification of interfaces enables the parsing of a
* DICOM header containing (optionaly heavily nested) sequences to be
* written recursively [see \ref Document::ParseDES
- * which calls \ref Document::ParseSQ, which in turns calls
+ * which calls \ref Document::ParseSQ, which in turn calls
* \ref Document::ParseDES ].
*
* \note Developpers should strongly resist to the temptation of adding
/// \brief write any type of entry to the entry set
virtual void WriteContent (std::ofstream *fp, FileType filetype) = 0;
- /// \brief Remove all Entry in the entry set
+ /// \brief Remove all Entry of the current set
virtual void ClearEntry() = 0;
- /// \brief adds any type of entry to the entry set
+ /// \brief adds any type of entry to the current set
virtual bool AddEntry(DocEntry *entry) = 0;
/// \brief Removes any type of entry out of the entry set, and destroys it
virtual bool RemoveEntry(DocEntry *entryToRemove) = 0;
- /// Gets the first entry of any type of set
+ /// \brief Gets the first entry (of any type) of the current set
virtual DocEntry *GetFirstEntry()=0;
- /// Gets the next entry of any type of set
+ /// \brief Gets the next entry (of any type) of the current set
virtual DocEntry *GetNextEntry()=0;
virtual std::string GetEntryString(uint16_t group, uint16_t elem);
virtual void *GetEntryBinArea(uint16_t group, uint16_t elem);
virtual int GetEntryLength(uint16_t group, uint16_t elem);
- virtual std::string GetEntryForcedAsciiValue(uint16_t group, uint16_t elem);
/// \brief Gets any type of DocEntry, identified by its (group,elem)
virtual DocEntry *GetDocEntry(uint16_t group, uint16_t elem) = 0;
uint16_t group, uint16_t elem,
VRKey const &vr = GDCM_VRUNKNOWN);
SeqEntry *InsertSeqEntry(uint16_t group, uint16_t elem);
- /// tells us if the set contains no entry
+ /// \brief Tells us if the set contains no entry
virtual bool IsEmpty() = 0;
virtual bool CheckIfEntryExist(uint16_t group, uint16_t elem);
Program: gdcm
Module: $RCSfile: gdcmDocument.cxx,v $
Language: C++
- Date: $Date: 2005/11/15 10:30:46 $
- Version: $Revision: 1.328 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.329 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
return false;
}
return DoTheLoadingDocumentJob( );
-}
-/**
- * \brief Loader. (DEPRECATED : not to break the API)
- * @param fileName 'Document' (File or DicomDir) to be open for parsing
- * @return false if file cannot be open or no swap info was found,
- * or no tag was found.
- */
+}
+
+#ifndef GDCM_LEGACY_REMOVE
bool Document::Load( std::string const &fileName )
{
Filename = fileName;
return DoTheLoadingDocumentJob( );
}
+#endif
/**
* \brief Performs the Loading Job (internal use only)
Program: gdcm
Module: $RCSfile: gdcmDocument.h,v $
Language: C++
- Date: $Date: 2005/11/15 10:30:46 $
- Version: $Revision: 1.131 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.132 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmDict.h"
#include "gdcmElementSet.h"
#include "gdcmException.h"
+#include "gdcmDebug.h" // for LEGACY
#include <map>
#include <list>
// Loading
//Deprecated : use SetFileName() + Load()
- virtual bool Load( std::string const &filename );
+ //GDCM_LEGACY( virtual bool Load( std::string const &filename ) );
virtual bool Load( );
// Dictionaries
Module: $RCSfile: gdcmFileHelper.cxx,v $
Language: C++
- Date: $Date: 2005/11/18 11:42:48 $
- Version: $Revision: 1.82 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ Version: $Revision: 1.83 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
}
/**
- * \brief Accesses an existing DocEntry (i.e. a Dicom Element)
- * through it's (group, element) and modifies it's content with
- * the given value.
+ * \brief Accesses an existing DataEntry through it's (group, element)
+ * and modifies it's content with the given value.
* @param content new value (string) to substitute with
* @param group group number of the Dicom Element to modify
* @param elem element number of the Dicom Element to modify
- * \return false if DocEntry not found
+ * \return false if DataEntry not found
*/
bool FileHelper::SetEntryString(std::string const &content,
uint16_t group, uint16_t elem)
/**
- * \brief Accesses an existing DocEntry (i.e. a Dicom Element)
- * through it's (group, element) and modifies it's content with
- * the given value.
+ * \brief Accesses an existing DataEntry through it's (group, element)
+ * and modifies it's content with the given value.
* @param content new value (void* -> uint8_t*) to substitute with
* @param lgth new value length
* @param group group number of the Dicom Element to modify
* @param elem element number of the Dicom Element to modify
- * \return false if DocEntry not found
+ * \return false if DataEntry not found
*/
bool FileHelper::SetEntryBinArea(uint8_t *content, int lgth,
uint16_t group, uint16_t elem)
}
/**
- * \brief Modifies the value of a given DocEntry (Dicom entry)
- * when it exists. Creates it with the given value when unexistant.
- * @param content (string)value to be set
+ * \brief Modifies the value of a given DataEntry when it exists.
+ * Creates it with the given value when unexistant.
+ * @param content (string) value to be set
* @param group Group number of the Entry
* @param elem Element number of the Entry
- * \return pointer to the modified/created Dicom entry (NULL when creation
+ * \return pointer to the modified/created DataEntry (NULL when creation
* failed).
*/
DataEntry *FileHelper::InsertEntryString(std::string const &content,
}
/**
- * \brief Modifies the value of a given DocEntry (Dicom entry)
- * when it exists. Creates it with the given value when unexistant.
+ * \brief Modifies the value of a given DataEntry when it exists.
+ * Creates it with the given value when unexistant.
* A copy of the binArea is made to be kept in the Document.
* @param binArea (binary)value to be set
* @param lgth new value length
* @param group Group number of the Entry
* @param elem Element number of the Entry
- * \return pointer to the modified/created Dicom entry (NULL when creation
+ * \return pointer to the modified/created DataEntry (NULL when creation
* failed).
*/
DataEntry *FileHelper::InsertEntryBinArea(uint8_t *binArea, int lgth,
}
/**
- * \brief Modifies the value of a given DocEntry (Dicom entry)
- * when it exists. Creates it, empty (?!) when unexistant.
+ * \brief Adds an empty SeqEntry
+ * (remove any existing entry with same group,elem)
* @param group Group number of the Entry
* @param elem Element number of the Entry
- * \return pointer to the modified/created Dicom entry (NULL when creation
+ * \return pointer to the created SeqEntry (NULL when creation
* failed).
*/
SeqEntry *FileHelper::InsertSeqEntry(uint16_t group, uint16_t elem)
/**
* \brief This method is called automatically, just before writting
- * in order to produce a 'True Dicom V3' image
+ * in order to produce a 'True Dicom V3' image.
+ *
* We cannot know *how* the user made the File :
* (reading an old ACR-NEMA file or a not very clean DICOM file ...)
- *
* Just before writting :
* - we check the Entries
* - we create the mandatory entries if they are missing
* The writing process will restore the entries as they where before
* entering FileHelper::CheckMandatoryElements, so the user will always
* see the entries just as they were before he decided to write.
+ *
* \note
* - Entries whose type is 1 are mandatory, with a mandatory value
* - Entries whose type is 1c are mandatory-inside-a-Sequence,
* with an optional value
* - Entries whose type is 3 are optional
*
- * \todo : - warn the user if we had to add some entries :
+ * \todo
+ * - warn the user if we had to add some entries :
* even if a mandatory entry is missing, we add it, with a default value
* (we don't want to give up the writting process if user forgot to
* specify Lena's Patient ID, for instance ...)
Program: gdcm
Module: $RCSfile: gdcmFileHelper.h,v $
Language: C++
- Date: $Date: 2005/11/07 09:50:52 $
- Version: $Revision: 1.30 $
+ Date: $Date: 2005/11/21 09:46:26 $
+ 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
};
public:
+/// \brief Constructs a FileHelper with a RefCounter
static FileHelper *New() {return new FileHelper();}
+/// \brief Constructs a FileHelper with a RefCounter from a fileHelper
static FileHelper *New(File *header) {return new FileHelper(header);}
virtual ~FileHelper();
/// See vtkgdcmSerieViewer for an example
VOID_FUNCTION_PUINT8_PFILE_POINTER UserFunction;
- /// if user knows he didn't modify the pixels (e.g. he just anonymized
- /// the file), he is allowed to ask to keep the original
+ /// \brief if user knows he didn't modify the pixels (e.g. he just
+ /// anonymized the file), he is allowed to ask to keep the original
/// 'Media Storage SOP Class UID' and 'Image Type'
bool KeepMediaStorageSOPClassUID;
};
Program: gdcm
Module: $RCSfile: gdcmOrientation.h,v $
Language: C++
- Date: $Date: 2005/11/18 11:42:48 $
- Version: $Revision: 1.12 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ Version: $Revision: 1.13 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
typedef std::pair<double, double> Res;
class File;
+typedef enum {
+ NotApplicable = 0,
+ Axial = 1,
+ AxialInvert = -1,
+ Coronal = 2,
+ CoronalInvert = -2,
+ Sagital = 3,
+ SagitalInvert = -3,
+ HeartAxial = 4,
+ HeartAxialInvert = -4,
+ HeartCoronal = 5,
+ HeartCoronalInvert = -5,
+ HeartSagital = 6,
+ HeartSagitalInvert = -6
+} OrientationType;
+
//-----------------------------------------------------------------------------
/**
* \brief Orientation class for dealing with DICOM image orientation
+ *
* A gentle reminder for non-medical user:
* PatientPosition (0x0010,0x5100) tells us the way the patient was introduced in the imager
* - HFS : Head First Supine
* - FFS : Feet First Supine
* - HFP : Head First Prone
* - FFP : Feet First Prone
- * Note: HFP and FFP are not very common values, since the position must be pretty unconfortable for the Patient -the patient is lying on his belly; but, if he has handcuffs there is no other way ...-
+ * Note: HFP and FFP are not very common values, since the position must
+ * be pretty unconfortable for the Patient -the patient is lying on his belly; but, if he has handcuffs there is no other way ...-
*
* ImageOrientationPatient (0x0020,0x0037) gives 6 cosines (2 for each plane)
* Patient Orientation (as found in the optional 0x0020,0x0020, or computed by
* You'll probabely have 3 letters for X axis and Y axis, and the image remains *perfectly* sagital !
* The values are given within the 'Patient referential', *not* within the 'Organ referential' ...
*/
-typedef enum {
- NotApplicable = 0,
- Axial = 1,
- AxialInvert = -1,
- Coronal = 2,
- CoronalInvert = -2,
- Sagital = 3,
- SagitalInvert = -3,
- HeartAxial = 4,
- HeartAxialInvert = -4,
- HeartCoronal = 5,
- HeartCoronalInvert = -5,
- HeartSagital = 6,
- HeartSagitalInvert = -6
-} OrientationType;
class GDCM_EXPORT Orientation : public RefCounter
{
gdcmTypeMacro(Orientation);
public:
+/// \brief Constructs a gdcm::Orientation with a RefCounter
static Orientation *New() {return new Orientation();}
OrientationType GetOrientationType( File *file );
Program: gdcm
Module: $RCSfile: gdcmSQItem.cxx,v $
Language: C++
- Date: $Date: 2005/11/07 09:46:37 $
- Version: $Revision: 1.79 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ Version: $Revision: 1.80 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
uint16_t itemt[4]= { 0xfffe, 0xe00d, 0xffff, 0xffff };
//we force the writting of an 'Item' Start Element
- // because we want to write the Item as a 'no Length' item
+ // because we want to write the Item as a 'No Length' item
for(j=0;j<4;++j)
{
binary_write( *fp, item[j]); // fffe e000 ffff ffff
}
/**
- * \brief Compute the full length of the SQItem (not only value
- * length) depending on the VR.
+ * \brief Compute the full length of the SQItem (not only value length)
+ * depending on the VR.
*/
uint32_t SQItem::ComputeFullLength()
{
Program: gdcm
Module: $RCSfile: gdcmSeqEntry.h,v $
Language: C++
- Date: $Date: 2005/11/07 09:46:36 $
- Version: $Revision: 1.37 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ Version: $Revision: 1.38 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
gdcmTypeMacro(SeqEntry);
public:
+/// \brief Contructs a SeqEntry with a RefCounter from DictEntry
static SeqEntry *New(DictEntry *e) {return new SeqEntry(e);}
+/// \brief Contructs a SeqEntry with a RefCounter from DocEntry
static SeqEntry *New(DocEntry *d, int depth) {return new SeqEntry(d,depth);}
void Print(std::ostream &os = std::cout, std::string const &indent = "" );
Program: gdcm
Module: $RCSfile: gdcmSerieHelper.cxx,v $
Language: C++
- Date: $Date: 2005/11/08 16:31:21 $
- Version: $Revision: 1.34 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ 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
* directory which would have a particular EchoTime==4.0.
* This method is a user level, value is not required to be formatted as a DICOM
* string
- * @param group Group number of the target tag.
- * @param elem Element number of the target tag.
+ * @param key Target tag we want restrict on a given value
* @param value value to be checked to exclude File
* @param op operator we want to use to check
*/
ExRestrictions.push_back( r );
}
-#ifndef GDCM_LEGACY_REMOVE
-void SerieHelper::AddRestriction(TagKey const &key, std::string const &value)
-{
- Rule r;
- r.first = key;
- r.second = value;
- Restrictions.push_back( r );
-}
-#endif
-
/**
* \brief Sets the root Directory
* @param dir Name of the directory to deal with
//-----------------------------------------------------------------------------
// Private
/**
- * \brief sorts the images, according to their Patient Position
+ * \brief sorts the images, according to their Patient Position.
+ *
* We may order, considering :
* -# Image Position Patient
* -# Image Number
- * -# File Name
+ * -# file name
* -# More to come :-)
* \note : FileList = std::vector<File* >
* @param fileList Coherent File list (same Serie UID) to sort
Program: gdcm
Module: $RCSfile: gdcmSerieHelper.h,v $
Language: C++
- Date: $Date: 2005/11/14 15:50:33 $
- Version: $Revision: 1.28 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ Version: $Revision: 1.29 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{
class File;
-
typedef std::vector<File* > FileList;
/// \brief XCoherent stands for 'Extra Coherent',
//-----------------------------------------------------------------------------
/**
* \brief
- * - This class should be used for a stack of 2D dicom images.
- * It allows to explore (recursively or not) a directory and
+ * This class should be used for a stack of 2D dicom images.
+ *
+ * - It allows to explore (recursively or not) a directory and
* makes a set of 'Single SerieUID Filesets'
- * It allows :
- * - to sort any of the 'Single SerieUID Fileset' on the image position.
- * - to split any of the Single SerieUID Filesets (better use this name than
- * 'Coherent File List' : it's NOT a std::list, files are NOT coherent ...)
+ * - It allows :
+ * - - to sort any of the 'Single SerieUID Fileset' on the image position.
+ * - - to split any of the Single SerieUID Filesets (better use this name than
+ * 'CoherentFileList' : it's NOT a std::list, files are NOT coherent ...)
* into several XCoherent Filesets
* XCoherent stands for 'Extra Coherent' (same orientation, or same position)
*/
typedef std::vector<File* > FileVector;
+/// \brief Constructs a SerieHelper with a RefCounter
static SerieHelper *New() {return new SerieHelper();}
virtual ~SerieHelper();
{ return (*ItFileSetHt).first; }
/// All the following allow user to restrict DICOM file to be part
/// of a particular serie
- GDCM_LEGACY( void AddRestriction(TagKey const &key, std::string const &value) );
void AddRestriction(TagKey const &key, std::string const &value, int op);
/**
Program: gdcm
Module: $RCSfile: gdcmTS.h,v $
Language: C++
- Date: $Date: 2005/10/26 08:04:16 $
- Version: $Revision: 1.23 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ Version: $Revision: 1.24 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
};
public:
+/// \brief Constructs a gdcmTS with a RefCounter
static TS *New() {return new TS();}
virtual void Print(std::ostream &os = std::cout,
Program: gdcm
Module: $RCSfile: gdcmValidator.h,v $
Language: C++
- Date: $Date: 2005/11/18 11:07:53 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2005/11/21 09:46:27 $
+ Version: $Revision: 1.3 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
/**
- * \brief
+ * \brief Class to perform some verifications on a gdcm::Document
*/
class ElementSet;
class GDCM_EXPORT Validator : public RefCounter
gdcmTypeMacro(Validator);
public:
+
+/// \brief Constructs a Validator with a RefCounter
static Validator *New() {return new Validator();}
void SetInput(ElementSet *input);