Gets the byte offset of the element from the beginning of the file
public long Offset { get; }
Public ReadOnly Property Offset As Long
public long Offset {get;}
get_Offset();
public:
property int64 Offset {
int64 get();
}
The byte offset of the element from the beginning of the file
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.
This example displays information about each element in a DicomDataSet including: * Tag * Name * Offset * Value offset * Value length
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);
}
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
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET