LEADTOOLS Medical (Leadtools.Dicom assembly)
LEAD Technologies, Inc

Reset Method (DicomDataSet)

Example 







Removes all items from the Data Set. .NET support WinRT support Silverlight support
Syntax
public void Reset()
'Declaration
 
Public Sub Reset() 
'Usage
 
Dim instance As DicomDataSet
 
instance.Reset()
public void Reset()
ObjectiveC Syntax
 function Leadtools.Dicom.DicomDataSet.Reset()
public:
void Reset(); 
Remarks
To create a Data Set that includes elements for a specific class, call the Initialize(DicomClassType,DicomDataSetInitializeType) method.
Example
Copy CodeCopy Code  
Public Sub DicomDIRSample()
   'Make sure to initialize the DICOM engine, this needs to be done only once 
   DicomEngine.Startup()
   Dim dicomDIR As DicomDataSet = New DicomDataSet()
   Using (dicomDIR)
      dicomDIR.Reset()
      'Initialize the dataset as a DICOMDIR class
      dicomDIR.Initialize(DicomClassType.BasicDirectory, DicomDataSetInitializeType.ExplicitVRLittleEndian)
      Debug.Assert(dicomDIR.InformationClass = DicomClassType.BasicDirectory)
      Debug.Assert(dicomDIR.InformationFlags = (DicomDataSetFlags.ExplicitVR Or DicomDataSetFlags.LittleEndian Or DicomDataSetFlags.MetaHeaderPresent))
      'Insert a patient level key
      Dim patientKey As DicomElement = dicomDIR.InsertKey(Nothing, DicomDirKeyType.Patient, True)
      'Insert a study key under the patient key
      Dim studyKey As DicomElement = dicomDIR.InsertKey(patientKey, DicomDirKeyType.Study, True)
      'Now insert three series keys under the study key
      Dim seriesKey As DicomElement = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, True)
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, True)
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, True)
      Dim key As DicomElement = dicomDIR.GetRootKey(seriesKey)
      'Get the key value, You can also call GetKeyValuePtr
      Dim keyValue As DicomDirKeyType = dicomDIR.GetKeyValue(key)
      'The root key for the series key should be patient
      Debug.Assert(keyValue = DicomDirKeyType.Patient, "The root key for the series key should be patient in this case")
      'Get the parent key for the series, it should be study
      key = dicomDIR.GetParentKey(seriesKey)
      keyValue = dicomDIR.GetKeyValue(key)
      Debug.Assert(keyValue = DicomDirKeyType.Study, "The parent key for the series key should be study in this case")
      'The child for the study key should be series
      key = dicomDIR.GetChildKey(studyKey)
      keyValue = dicomDIR.GetKeyValue(key)
      Debug.Assert(keyValue = DicomDirKeyType.Series, "The child for the study key should be series")
      'The first key should be patient, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetFirstKey(studyKey, False)
      keyValue = dicomDIR.GetKeyValue(key)
      Debug.Assert(keyValue = DicomDirKeyType.Patient)
      'The last key should be series, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetLastKey(studyKey, False)
      keyValue = dicomDIR.GetKeyValue(key)
      Debug.Assert(keyValue = DicomDirKeyType.Series)
      'The key before the study key should be patient, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetPreviousKey(studyKey, False)
      keyValue = dicomDIR.GetKeyValue(key)
      Debug.Assert(keyValue = DicomDirKeyType.Patient)
      'The key after the study key should be series, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetNextKey(studyKey, False)
      keyValue = dicomDIR.GetKeyValue(key)
      Debug.Assert(keyValue = DicomDirKeyType.Series)
      'If we delete the study key, the series keys under it will get deleted too
      dicomDIR.DeleteKey(studyKey)
      key = dicomDIR.FindFirstKey(Nothing, DicomDirKeyType.Series, False)
      Debug.Assert(key Is Nothing)
      key = dicomDIR.FindLastKey(Nothing, DicomDirKeyType.Series, False)
      Debug.Assert(key Is Nothing)
      key = dicomDIR.FindPreviousKey(Nothing, False)
      Debug.Assert(key Is Nothing)
      key = dicomDIR.FindNextKey(Nothing, False)
      Debug.Assert(key Is Nothing)
   End Using

   DicomEngine.Shutdown()
End Sub
public void DicomDIRSample()
{
   //Make sure to initialize the DICOM engine, this needs to be done only once 
   DicomEngine.Startup();
   using (DicomDataSet dicomDIR = new DicomDataSet())
   {
      dicomDIR.Reset();
      //Initialize the dataset as a DICOMDIR class
      dicomDIR.Initialize(DicomClassType.BasicDirectory, DicomDataSetInitializeType.ExplicitVRLittleEndian);
      Debug.Assert(dicomDIR.InformationClass == DicomClassType.BasicDirectory);
      Debug.Assert(dicomDIR.InformationFlags == (DicomDataSetFlags.ExplicitVR | DicomDataSetFlags.LittleEndian | DicomDataSetFlags.MetaHeaderPresent));
      //Insert a patient level key
      DicomElement patientKey = dicomDIR.InsertKey(null, DicomDirKeyType.Patient, true);
      //Insert a study key under the patient key
      DicomElement studyKey = dicomDIR.InsertKey(patientKey, DicomDirKeyType.Study, true);
      //Now insert three series keys under the study key
      DicomElement seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true);
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true);
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true);
      DicomElement key = dicomDIR.GetRootKey(seriesKey);
      //Get the key value, You can also call GetKeyValuePtr
      DicomDirKeyType keyValue = dicomDIR.GetKeyValue(key);
      //The root key for the series key should be patient
      Debug.Assert(keyValue == DicomDirKeyType.Patient, "The root key for the series key should be patient in this case");
      //Get the parent key for the series, it should be study
      key = dicomDIR.GetParentKey(seriesKey);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Study, "The parent key for the series key should be study in this case");
      //The child for the study key should be series
      key = dicomDIR.GetChildKey(studyKey);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Series, "The child for the study key should be series");
      //The first key should be patient, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetFirstKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Patient);
      //The last key should be series, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetLastKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Series);
      //The key before the study key should be patient, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetPreviousKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Patient);
      //The key after the study key should be series, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetNextKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Series);
      //If we delete the study key, the series keys under it will get deleted too
      dicomDIR.DeleteKey(studyKey);
      key = dicomDIR.FindFirstKey(null, DicomDirKeyType.Series, false);
      Debug.Assert(key == null);
      key = dicomDIR.FindLastKey(null, DicomDirKeyType.Series, false);
      Debug.Assert(key == null);
      key = dicomDIR.FindPreviousKey(null, false);
      Debug.Assert(key == null);
      key = dicomDIR.FindNextKey(null, false);
      Debug.Assert(key == null);
   }
   DicomEngine.Shutdown();
}
[TestMethod]
public void DicomDIRSample()
{
   //Make sure to initialize the DICOM engine, this needs to be done only once 
   DicomEngine.Startup();
   using (DicomDataSet dicomDIR = new DicomDataSet())
   {
      dicomDIR.Reset();
      //Initialize the dataset as a DICOMDIR class
      dicomDIR.Initialize(DicomClassType.BasicDirectory, DicomDataSetInitializeType.ExplicitVRLittleEndian);
      Debug.Assert(dicomDIR.InformationClass == DicomClassType.BasicDirectory);
      Debug.Assert(dicomDIR.InformationFlags == (DicomDataSetFlags.ExplicitVR | DicomDataSetFlags.LittleEndian | DicomDataSetFlags.MetaHeaderPresent));
      //Insert a patient level key
      DicomElement patientKey = dicomDIR.InsertKey(null, DicomDirKeyType.Patient, true);
      //Insert a study key under the patient key
      DicomElement studyKey = dicomDIR.InsertKey(patientKey, DicomDirKeyType.Study, true);
      //Now insert three series keys under the study key
      DicomElement seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true);
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true);
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true);
      DicomElement key = dicomDIR.GetRootKey(seriesKey);
      //Get the key value, You can also call GetKeyValuePtr
      DicomDirKeyType keyValue = dicomDIR.GetKeyValue(key);
      //The root key for the series key should be patient
      Debug.Assert(keyValue == DicomDirKeyType.Patient, "The root key for the series key should be patient in this case");
      //Get the parent key for the series, it should be study
      key = dicomDIR.GetParentKey(seriesKey);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Study, "The parent key for the series key should be study in this case");
      //The child for the study key should be series
      key = dicomDIR.GetChildKey(studyKey);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Series, "The child for the study key should be series");
      //The first key should be patient, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetFirstKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Patient);
      //The last key should be series, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetLastKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Series);
      //The key before the study key should be patient, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetPreviousKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Patient);
      //The key after the study key should be series, if we traverse the DICOMDIR as a list
      key = dicomDIR.GetNextKey(studyKey, false);
      keyValue = dicomDIR.GetKeyValue(key);
      Debug.Assert(keyValue == DicomDirKeyType.Series);
      //If we delete the study key, the series keys under it will get deleted too
      dicomDIR.DeleteKey(studyKey);
      key = dicomDIR.FindFirstKey(null, DicomDirKeyType.Series, false);
      Debug.Assert(key == null);
      key = dicomDIR.FindLastKey(null, DicomDirKeyType.Series, false);
      Debug.Assert(key == null);
      key = dicomDIR.FindPreviousKey(null, false);
      Debug.Assert(key == null);
      key = dicomDIR.FindNextKey(null, false);
      Debug.Assert(key == null);
   }
   DicomEngine.Shutdown();
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

DicomDataSet Class
DicomDataSet Members
DeleteElement Method
DeleteModule Method

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Dicom requires a Medical toolkit server license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features