GDCM_NAME_SPACE::Validator Class Reference

#include <gdcmValidator.h>

Inheritance diagram for GDCM_NAME_SPACE::Validator:

Inheritance graph
[legend]
Collaboration diagram for GDCM_NAME_SPACE::Validator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void SetInput (ElementSet *input)
void Delete ()
 Delete the object.
void Register ()
 Register the object.
void Unregister ()
 Unregister the object.
const unsigned long & GetRefCount () const
 Get the reference counting.
virtual void Print (std::ostream &=std::cout, std::string const &="")
 Printer.
void SetPrintLevel (int level)
 Sets the print level for the Dicom Header Elements.
int GetPrintLevel ()
 Gets the print level for the Dicom Entries.

Static Public Member Functions

static Validator * New ()
 Constructs a Validator with a RefCounter.

Protected Member Functions

 Validator ()
 Constructor.
 ~Validator ()
 Canonical Destructor.

Protected Attributes

int PrintLevel
 Amount of printed details for each Dicom Entries : 0 : stands for the least detail level.

Private Member Functions

 gdcmTypeMacro (Validator)

Detailed Description

Definition at line 30 of file gdcmValidator.h.


Constructor & Destructor Documentation

GDCM_NAME_SPACE::Validator::Validator (   )  [protected]
 

Constructor.

Definition at line 33 of file gdcmValidator.cxx.

00034 {
00035 }

GDCM_NAME_SPACE::Validator::~Validator (   )  [protected]
 

Canonical Destructor.

Definition at line 37 of file gdcmValidator.cxx.

00038 {
00039 }


Member Function Documentation

void GDCM_NAME_SPACE::RefCounter::Delete (   )  [inline, inherited]
 

Delete the object.

Remarks:
The object is deleted only if its reference counting is to zero

Definition at line 41 of file gdcmRefCounter.h.

Referenced by GDCM_NAME_SPACE::SerieHelper::AddFileName(), GDCM_NAME_SPACE::Document::Backtrack(), GDCM_NAME_SPACE::FileHelper::CheckMandatoryElements(), GDCM_NAME_SPACE::FileHelper::CheckMandatoryEntry(), GDCM_NAME_SPACE::FileHelper::CopyMandatoryEntry(), GDCM_NAME_SPACE::Dict::DoTheLoadingJob(), GDCM_NAME_SPACE::FillDefaultDataDict(), GDCM_NAME_SPACE::DicomDirObject::FillObject(), vtkGdcmReader::GetFileInformation(), GDCM_NAME_SPACE::DocEntrySet::InsertEntryBinArea(), GDCM_NAME_SPACE::DocEntrySet::InsertEntryString(), GDCM_NAME_SPACE::DocEntrySet::InsertSeqEntry(), vtkGdcmReader::LoadFileInformation(), GDCM_NAME_SPACE::DicomDir::NewMeta(), GDCM_NAME_SPACE::DicomDirStudy::NewVisit(), GDCM_NAME_SPACE::Document::ReadNextDocEntry(), GDCM_NAME_SPACE::DicomDir::SetElement(), GDCM_NAME_SPACE::FileHelper::SetMandatoryEntry(), GDCM_NAME_SPACE::FileHelper::SetWriteFileTypeToExplicitVR(), GDCM_NAME_SPACE::FileHelper::SetWriteFileTypeToImplicitVR(), GDCM_NAME_SPACE::FileHelper::SetWriteFileTypeToJPEG(), GDCM_NAME_SPACE::FileHelper::SetWriteFileTypeToJPEG2000(), GDCM_NAME_SPACE::FileHelper::SetWriteToLibido(), GDCM_NAME_SPACE::DicomDir::~DicomDir(), GDCM_NAME_SPACE::DictSet::~DictSet(), and GDCM_NAME_SPACE::Global::~Global().

00041 { Unregister(); }

GDCM_NAME_SPACE::Validator::gdcmTypeMacro (  Validator   )  [private]
 

int GDCM_NAME_SPACE::Base::GetPrintLevel (   )  [inline, inherited]
 

Gets the print level for the Dicom Entries.

Definition at line 50 of file gdcmBase.h.

00050 { return PrintLevel; }

const unsigned long& GDCM_NAME_SPACE::RefCounter::GetRefCount (   )  const [inline, inherited]
 

Get the reference counting.

Returns:
Reference count

Definition at line 59 of file gdcmRefCounter.h.

00060    {
00061       return RefCount;
00062    }

static Validator* GDCM_NAME_SPACE::Validator::New (   )  [inline, static]
 

Constructs a Validator with a RefCounter.

Definition at line 37 of file gdcmValidator.h.

00037 {return new Validator();}

virtual void GDCM_NAME_SPACE::Base::Print (  std::ostream &  = std::cout,
std::string const &  = ""
)  [inline, virtual, inherited]
 

Printer.

Reimplemented in GDCM_NAME_SPACE::CommandManager, GDCM_NAME_SPACE::DataEntry, GDCM_NAME_SPACE::DicomDir, GDCM_NAME_SPACE::DicomDirElement, GDCM_NAME_SPACE::DicomDirImage, GDCM_NAME_SPACE::DicomDirMeta, GDCM_NAME_SPACE::DicomDirPatient, GDCM_NAME_SPACE::DicomDirPrivate, GDCM_NAME_SPACE::DicomDirSerie, GDCM_NAME_SPACE::DicomDirStudy, GDCM_NAME_SPACE::DicomDirVisit, GDCM_NAME_SPACE::DicomEntry, GDCM_NAME_SPACE::Dict, GDCM_NAME_SPACE::DictEntry, GDCM_NAME_SPACE::DictGroupName, GDCM_NAME_SPACE::DictSet, GDCM_NAME_SPACE::DirList, GDCM_NAME_SPACE::DocEntry, GDCM_NAME_SPACE::ElementSet, GDCM_NAME_SPACE::FileHelper, GDCM_NAME_SPACE::JPEGFragment, GDCM_NAME_SPACE::PixelReadConvert, GDCM_NAME_SPACE::RLEFrame, GDCM_NAME_SPACE::SeqEntry, GDCM_NAME_SPACE::SerieHelper, GDCM_NAME_SPACE::SQItem, GDCM_NAME_SPACE::TS, and GDCM_NAME_SPACE::VR.

Definition at line 42 of file gdcmBase.h.

00043                                                {};

void GDCM_NAME_SPACE::RefCounter::Register (   )  [inline, inherited]
 

Register the object.

Remarks:
It increments the reference counting

Definition at line 46 of file gdcmRefCounter.h.

Referenced by GDCM_NAME_SPACE::SQItem::AddEntry(), GDCM_NAME_SPACE::SeqEntry::AddSQItem(), GDCM_NAME_SPACE::SeqEntry::Copy(), GDCM_NAME_SPACE::DicomDir::Copy(), GDCM_NAME_SPACE::FileHelper::FileHelper(), GDCM_NAME_SPACE::DocEntrySet::GetDictEntry(), GDCM_NAME_SPACE::DocEntry::GetName(), GDCM_NAME_SPACE::DocEntry::GetVM(), GDCM_NAME_SPACE::DocEntrySet::InsertEntryString(), GDCM_NAME_SPACE::CommandManager::InSetCommand(), GDCM_NAME_SPACE::DocEntryArchive::Push(), and GDCM_NAME_SPACE::SeqEntry::SetDelimitationItem().

00046 { RefCount++; }

void GDCM_NAME_SPACE::Validator::SetInput (  ElementSet *  input  ) 
 

Definition at line 69 of file gdcmValidator.cxx.

References GDCM_NAME_SPACE::CheckVM(), GDCM_NAME_SPACE::GDCM_UNKNOWN, GDCM_NAME_SPACE::ElementSet::GetFirstEntry(), GDCM_NAME_SPACE::DocEntry::GetKey(), and GDCM_NAME_SPACE::ElementSet::GetNextEntry().

00070 {
00071 
00072 DocEntry *d;
00073 /*
00074 // First stage to check group length
00075   GroupHT grHT;
00076   d=input->GetFirstEntry();
00077   while(d)
00078   {
00079     grHT[d->GetGroup()] = 0;
00080     d=input->GetNextEntry();
00081   }
00082   for (GroupHT::iterator it = grHT.begin(); it != grHT.end(); ++it)
00083   {
00084       std::cout << std::hex << it->first << std::endl; 
00085   }
00086 */
00087 
00088   // berk for now SetInput do two things at the same time
00089   d=input->GetFirstEntry();
00090   if (!d)
00091   {
00092      std::cout << "No Entry found" << std::endl;
00093      return;
00094   }
00095   while(d)
00096   { 
00097     if ( DataEntry *v = dynamic_cast<DataEntry *>(d) )
00098     {
00099       if ( v->GetVM() != GDCM_NAME_SPACE::GDCM_UNKNOWN )
00100          if ( !CheckVM(v) )
00101          {
00102             if (v->GetVM() == "FIXME" )
00103               std::cout << "For Tag " <<  v->GetKey() << " VM = ["
00104                        << v->GetVM() << "]" << std::endl;
00105 
00106             std::cout << "Tag (" <<  v->GetKey() 
00107                       << ")-> [" << v->GetName() << "] VR :" << v->GetVR()
00108                       << " contains an illegal VM. Expected VM :[" 
00109                       << v->GetVM() << "], value [" << v->GetString() << "]"
00110                       << std::endl;
00111          }
00112 
00113       if ( v->GetReadLength() % 2 )
00114       {
00115         std::cout << "Tag (" <<  v->GetKey()
00116                   << ")-> [" << v->GetName() << "] has an uneven length :"
00117                   << v->GetReadLength()
00118                   << " [" << v->GetString() << "] "
00119                   << std::endl;
00120       }
00121     }
00122     else
00123     {
00124       // We skip pb of SQ recursive exploration
00125     }
00126     d=input->GetNextEntry();
00127   }
00128 }

void GDCM_NAME_SPACE::Base::SetPrintLevel (  int  level  )  [inline, inherited]
 

Sets the print level for the Dicom Header Elements.

Note:
0 for Light Print; 1 for 'medium' Print, 2 for Heavy Print

Definition at line 47 of file gdcmBase.h.

Referenced by GDCM_NAME_SPACE::FileHelper::Print(), and GDCM_NAME_SPACE::DicomDir::Print().

00047 { PrintLevel = level; }

void GDCM_NAME_SPACE::RefCounter::Unregister (   )  [inline, inherited]
 

Unregister the object.

Remarks:
It decrements the reference counting

Definition at line 50 of file gdcmRefCounter.h.

Referenced by GDCM_NAME_SPACE::Document::ReadNextDocEntry(), GDCM_NAME_SPACE::SQItem::RemoveEntry(), GDCM_NAME_SPACE::ElementSet::RemoveEntry(), and GDCM_NAME_SPACE::FileHelper::~FileHelper().

00051    {
00052 //std::cout <<"================Unreg " << typeid(*this).name() << std::endl;
00053       RefCount--;
00054       if(RefCount<=0)
00055         delete this;
00056    }


Member Data Documentation

int GDCM_NAME_SPACE::Base::PrintLevel [protected, inherited]
 

Amount of printed details for each Dicom Entries : 0 : stands for the least detail level.

Definition at line 55 of file gdcmBase.h.

Referenced by GDCM_NAME_SPACE::SeqEntry::Print(), GDCM_NAME_SPACE::FileHelper::Print(), GDCM_NAME_SPACE::ElementSet::Print(), GDCM_NAME_SPACE::DocEntry::Print(), GDCM_NAME_SPACE::DictEntry::Print(), GDCM_NAME_SPACE::DicomDirStudy::Print(), GDCM_NAME_SPACE::DicomDirSerie::Print(), GDCM_NAME_SPACE::DicomDirPatient::Print(), GDCM_NAME_SPACE::DicomDirMeta::Print(), GDCM_NAME_SPACE::DicomDir::Print(), and GDCM_NAME_SPACE::DataEntry::Print().


The documentation for this class was generated from the following files:
Generated on Fri Aug 24 12:57:29 2007 for gdcm by  doxygen 1.4.6