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

Show in webframe

Offset Property (DicomElement)








Gets the byte offset of the element from the beginning of the file
Syntax
public long Offset {get;}
'Declaration
 
Public ReadOnly Property Offset As Long
'Usage
 
Dim instance As DicomElement
Dim value As Long
 
value = instance.Offset
public long Offset {get;}
 get_Offset(); 
public:
property int64 Offset {
   int64 get();
}

Property Value

The byte offset of the element from the beginning of the file
Remarks
Depending on the transfer syntax and value representation, a DICOM Element is stored in a file as one of the following The Offset property returns the byte offset for the DicomElement in the file. If you seek to this offset in the DICOM file, the next 4 bytes will be the Tag (group, element) of the DICOM element.
Example

This example displays information about each element in a DicomDataSet including: * Tag * Name * Offset * Value offset * Value length

Copy Code  
Imports Leadtools
Imports Leadtools.Dicom

'''
Private Sub DicomDataSetOffsetTest(ByVal ds As DicomDataSet)
   Dim element As DicomElement = ds.GetFirstElement(Nothing, False, True)
   Do While element IsNot Nothing
      DumpElementValue(element)
      element = ds.GetNextElement(element, False, True)
   Loop
End Sub
Private Sub DumpElementValue(ByVal element As DicomElement)
   Dim tag As DicomTag = DicomTagTable.Instance.Find(element.Tag)
   Dim name As String = String.Empty
   If tag IsNot Nothing Then
      name = tag.Name
   End If
   Console.WriteLine("{0} {1,-30} 0x{2:X8} 0x{3:X8} {4}", GetElementString(element), Truncate(name, 30), element.Offset, element.ValueOffset, element.ValueLength)
End Sub

Private Function GetElementString(ByVal p As DicomElement) As String
   If p Is Nothing Then
      Return String.Empty
   End If
   Return String.Format("({0:X4},{1:X4})", p.Tag >> &H10, p.Tag And &HFFFF)
End Function

Private Function Truncate(ByVal s As String, ByVal length As Integer) As String
   If s.Length > length Then
      Return s.Substring(0, length)
   End If
   Return s
End Function
using Leadtools;
using Leadtools.Dicom;

///

private void DicomDataSetOffsetTest(DicomDataSet ds)
{
   DicomElement element = ds.GetFirstElement(null, false, true);
   while (element != null)
   {
      DumpElementValue(element);
      element = ds.GetNextElement(element, false, true);
   }
}
 private string GetElementString(DicomElement p)
{
   if (p == null)
      return string.Empty;
   return string.Format("({0:X4},{1:X4})", p.Tag >> 0x10, p.Tag & 0xFFFF);
}

private string Truncate(string s, int length)
{
   if (s.Length > length)
      return s.Substring(0, length);
   return s;
}

private void DumpElementValue(DicomElement element)
{
   DicomTag tag = DicomTagTable.Instance.Find(element.Tag);
   string name = string.Empty;
   if (tag != null)
   {
      name = tag.Name;
   }
   Console.WriteLine(@"{0} {1,-30} 0x{2:X8} 0x{3:X8} {4}", 
      GetElementString(element), 
      Truncate(name, 30), 
      element.Offset, 
      element.ValueOffset, 
      element.ValueLength);
}
Requirements

Target Platforms

See Also

Reference

DicomElement Class
DicomElement Members

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