Error processing SSI file
LEADTOOLS Medical (Leadtools.Dicom assembly)

Show in webframe

Reset Method (DicomDir)








The name of an existing destination folder in which to save the DICOMDIR File.
Removes the contents of the Directory and reinitializes it.
Syntax
public void Reset( 
   string destinationFolder
)
'Declaration
 
Public Sub Reset( _
   ByVal destinationFolder As String _
) 
'Usage
 
Dim instance As DicomDir
Dim destinationFolder As String
 
instance.Reset(destinationFolder)
public void Reset( 
   string destinationFolder
)
 function Leadtools.Dicom.DicomDir.Reset( 
   destinationFolder 
)
public:
void Reset( 
   String^ destinationFolder
) 

Parameters

destinationFolder
The name of an existing destination folder in which to save the DICOMDIR File.
Remarks
When an object of the DicomDir class is created, the DICOM Directory, as specified by the object, is empty. To revert to this case at any time, call the method Reset. If the same object is to be used to create the DICOM Directory of a new file-set, this method must be called first.

This method also sets the destination folder of the DICOMDIR File. Please note that although the method can be passed a null reference (Nothing in Visual Basic), no DICOM file can be added to the DICOM Directory unless this folder is specified.

Example
Copy Code  
Imports Leadtools
Imports Leadtools.Dicom

Public Class MyDicomDir : Inherits DicomDir
   Public Sub New(ByVal destinationFolder As String, ByVal path As String)
      MyBase.New(destinationFolder, path)
   End Sub
   Public Overrides Function OnInsertFile(ByVal fileName As String, ByVal ds As DicomDataSet, ByVal status As DicomDirInsertFileStatus, _
                                          ByVal code As DicomExceptionCode) As DicomDirInsertFileCommand
      If status = DicomDirInsertFileStatus.PreAdd Then
         Dim msg As String = String.Format("About to add the file '{0}'{1}{1}Proceed?", fileName, Environment.NewLine)
         Dim result As DialogResult = MessageBox.Show(msg, "Sample", MessageBoxButtons.YesNoCancel)
         If result = DialogResult.Yes Then
            Return DicomDirInsertFileCommand.Continue
         ElseIf result = DialogResult.No Then
            Return DicomDirInsertFileCommand.Skip
         ElseIf result = DialogResult.Cancel Then
            Return DicomDirInsertFileCommand.Stop
         End If
      ElseIf status = DicomDirInsertFileStatus.Success Then
         Dim msg As String = String.Format("The file '{0}' has been added successfully.", fileName)
      End If
      Return DicomDirInsertFileCommand.Continue
   End Function
End Class
<TestMethod()> _
Private Sub CreateDicomDirectory()
   'Make sure to initialize the DICOM engine, this needs to be done only once 
   'In the whole application
   DicomEngine.Startup()
   Dim dicomDir As MyDicomDir = New MyDicomDir(Nothing, Nothing)
   Using (dicomDir)

      Dim autoSearch As Boolean = True
      ' Set the destination folder
      dicomDir.Reset(Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1"))
      ' Set the File-set Identifier
      dicomDir.SetFileSetId("SOME ID")
      ' Set some options
      Dim options As DicomDirOptions = dicomDir.Options
      dicomDir.ResetOptions()
      options.IncludeSubfolders = True
      options.InsertIconImageSequence = False
      options.RejectInvalidFileId = True
      dicomDir.Options = options

      ' Set the File-set descriptor file
      dicomDir.SetDescriptorFile(Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1\README"), Nothing)

      If autoSearch Then
         Try
            dicomDir.InsertFile(Nothing)
         Catch ex As Exception
            MessageBox.Show(ex.GetType().ToString(), ex.Message, MessageBoxButtons.YesNoCancel)
         End Try
      Else
         ' Load a Data Set and add it to the Directory

         Dim ds As DicomDataSet = New DicomDataSet()
         Using (ds)
            ds.Load(Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1\Image1"), DicomDataSetLoadFlags.None)
            dicomDir.InsertDataSet(ds, Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1\IMAGE1"))
         End Using

         ' Add some DICOM files to the Directory
         dicomDir.InsertFile(Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1\IMAGE2"))
         dicomDir.InsertFile(Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1\IMAGE3"))
         dicomDir.InsertFile(Path.Combine(LEAD_VARS.ImagesDir, "TEMP\DCMTEST\PATIENT1\IMAGE4"))
      End If

      ' Test the DataSet
      Dim first As DicomElement = dicomDir.DataSet.FindFirstElement(Nothing, DicomTag.PatientID, False)
      MessageBox.Show(first.Length.ToString())

      ' Save the DICOMDIR File
      dicomDir.Save()
      'We can now call something like this to call the DICOMDIR back
      'dicomDir.Load(@LeadtoolsExamples.Common.ImagesPath.Path + "TEMP\DCMTEST\PATIENT1\DICOMDIR",DicomDataSetLoadFlags.LoadAndClose);
   End Using
   DicomEngine.Shutdown()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Dicom;

public class MyDicomDir : DicomDir
{
   public MyDicomDir(string destinationFolder, string path) : base(destinationFolder, path) { }
   public override DicomDirInsertFileCommand OnInsertFile(string fileName, DicomDataSet ds, DicomDirInsertFileStatus status, DicomExceptionCode code)
   {
      if (status == DicomDirInsertFileStatus.PreAdd)
      {
         string msg = string.Format("About to add the file '{0}'{1}{1}Proceed?", fileName, Environment.NewLine);
         DialogResult result = MessageBox.Show(msg, "Sample", MessageBoxButtons.YesNoCancel);
         if (result == DialogResult.Yes)
            return DicomDirInsertFileCommand.Continue;
         else if (result == DialogResult.No)
            return DicomDirInsertFileCommand.Skip;
         else if (result == DialogResult.Cancel)
            return DicomDirInsertFileCommand.Stop;
      }
      else if (status == DicomDirInsertFileStatus.Success)
      {
         string msg = string.Format("The file '{0}' has been added successfully.", fileName);
      }
      return DicomDirInsertFileCommand.Continue;
   }
};
[TestMethod]

public void CreateDicomDirectory()
{
   //Make sure to initialize the DICOM engine, this needs to be done only once 
   //In the whole application
   DicomEngine.Startup();
   using (MyDicomDir dicomDir = new MyDicomDir(null, null))
   {
      bool autoSearch = true;
      // Set the destination folder
      dicomDir.Reset(Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1"));
      // Set the File-set Identifier
      dicomDir.SetFileSetId("SOME ID");
      // Set some options
      DicomDirOptions options = dicomDir.Options;
      dicomDir.ResetOptions();
      options.IncludeSubfolders = true;
      options.InsertIconImageSequence = false;
      options.RejectInvalidFileId = true;
      dicomDir.Options = options;

      // Set the File-set descriptor file
      dicomDir.SetDescriptorFile(Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1\README"), null);

      if (autoSearch)
      {
         try
         {
            dicomDir.InsertFile(null);
         }
         catch (Exception ex)
         {
            MessageBox.Show(ex.GetType().ToString(), ex.Message, MessageBoxButtons.YesNoCancel);
         }
      }
      else
      {
         // Load a Data Set and add it to the Directory
         using (DicomDataSet ds = new DicomDataSet())
         {
            ds.Load(Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1\Image1"), DicomDataSetLoadFlags.None);
            dicomDir.InsertDataSet(ds, Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1\IMAGE1"));
         }

         // Add some DICOM files to the Directory
         dicomDir.InsertFile(Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1\IMAGE2"));
         dicomDir.InsertFile(Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1\IMAGE3"));
         dicomDir.InsertFile(Path.Combine(LEAD_VARS.ImagesDir, @"TEMP\DCMTEST\PATIENT1\IMAGE4"));
      }

      // Test the DataSet
      DicomElement first = dicomDir.DataSet.FindFirstElement(null, DicomTag.PatientID, false);
      MessageBox.Show(first.Length.ToString());

      // Save the DICOMDIR File
      dicomDir.Save();
      //We can now call something like this to call the DICOMDIR back
      //dicomDir.Load(LeadtoolsExamples.Common.ImagesPath.Path + @"TEMP\DCMTEST\PATIENT1\DICOMDIR",DicomDataSetLoadFlags.LoadAndClose);
   }
   DicomEngine.Shutdown();
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms

See Also

Reference

DicomDir Class
DicomDir Members
DicomDir Constructor(String,String)
DicomDir Constructor(String)

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