Visual Basic (Declaration) | |
---|---|
Public Sub Reset() |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As DicomDataSet instance.Reset() |
C# | |
---|---|
public void Reset() |
C++/CLI | |
---|---|
public: void Reset(); |
This example will initialize a DICOMDIR, enumerate and update its keys.
Visual Basic | Copy 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 |
C# | Copy Code |
---|---|
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(); } |
SilverlightCSharp | Copy Code |
---|---|
SilverlightVB | Copy Code |
---|---|
To create a Data Set that includes elements for a specific class, call the Leadtools.Dicom.DicomDataSet.Initialize method.
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)