Creates a Private Creator Data Element to reserve private data elements.
public Leadtools.Dicom.DicomElement CreatePrivateCreatorDataElement(
Leadtools.Dicom.DicomElement element,
int elementGroup,
int elementNumber,
string idCode
)
Public Function CreatePrivateCreatorDataElement( _
ByVal element As Leadtools.Dicom.DicomElement, _
ByVal elementGroup As Integer, _
ByVal elementNumber As Integer, _
ByVal idCode As String _
) As Leadtools.Dicom.DicomElement
public Leadtools.Dicom.DicomElement CreatePrivateCreatorDataElement(
Leadtools.Dicom.DicomElement element,
int elementGroup,
int elementNumber,
string idCode
)
public DicomElement createPrivateCreatorDataElement(DicomElement element, int elementGroup, int elementNumber, String idCode)
function Leadtools.Dicom.DicomDataSet.CreatePrivateCreatorDataElement(
element ,
elementGroup ,
elementNumber ,
idCode
)
public:
Leadtools.Dicom.DicomElement^ CreatePrivateCreatorDataElement(
Leadtools.Dicom.DicomElement^ element,
int elementGroup,
int elementNumber,
String^ idCode
)
element
A DicomElement in the data set. The Private Creator Data Element will be inserted at the same level as this item.
elementGroup
Group number of the private creator data element.
elementNumber
Element number of the private creator data element.
idCode
String identifier that is assigned to the private creator data element.
The newly inserted Private Creator Data Element.
This feature is available in version 16 or higher.
A DICOM Data Set can have private data which is stored in private tags. Private tags are reserved by adding a Private Creator Data Element to the data set. Elements of the form (gggg,0010-00FF) represent private creator data elements. More specifically:
Private Creator Data Elements are elements of the form (gggg,eeee) where:
A private creator data element of the form (gggg,00ee) reserves the following 256 elements, which can be of any value representation:
For example, suppose you want to add the following three private elements to a DICOM data set:
You would first reserve the elements by adding the corresponding private creator data element (0017, 0012).
When using CreatePrivateCreatorDataElement, the created private creator data element is on the same level as element. If element is null, the private creator data element is created at the top or first level.
If parameter uElementNumber is 0xFFFF, the private creator data element is created with the first available element number in group elementGroup.
This example shows the steps to properly reserve and insert some private tags 1. Reserve elements by first creating a 'Private Creator Data Element'-- create in group 'uGroup', and take first available element 2. Now insert five private elements that have been reserved by the 'Private Creator Data Element'
using Leadtools;
using Leadtools.Dicom;
public void DicomDataSet_CreatePrivateCreatorDataElement(DicomDataSet ds, DicomElement root, int elementGroup)
{
int tag = 0;
string sUniqueID = "MyPrivateCreatorDataElement";
// We will add some private tags
// First see if the Private Creator Data Element already exists -- search by unique ID, ANY group
DicomElement privateCreatorElement = ds.FindFirstPrivateCreatorDataElement(root, true, sUniqueID, 0);
// If the Private Creator Data Element does not exist, try to create it
if (privateCreatorElement == null)
{
privateCreatorElement = ds.CreatePrivateCreatorDataElement(root, elementGroup, 0xFF, sUniqueID);
if (privateCreatorElement == null)
return;
// Private Creator Data Element tag was created successfully
// Add it to the DICOM Tag table
DicomTagTable.Instance.Insert(
privateCreatorElement.Tag,
0xFFFFFFFF,
sUniqueID,
privateCreatorElement.VR,
1, 1, 1
);
}
// Insert some private elements
for (int i = 0; i < 5; i++)
{
tag = ds.GetNextUnusedPrivateTag(privateCreatorElement);
DicomElement p = ds.InsertElement(root, false, tag, DicomVRType.IS, false, 0);
if (p != null)
{
ds.SetIntValue(p, new int[] { i }, 1);
}
}
}
Imports Leadtools
Imports Leadtools.Dicom
Public Sub DicomDataSet_CreatePrivateCreatorDataElement(ByVal ds As DicomDataSet, ByVal root As DicomElement, ByVal elementGroup As Integer)
Dim tag As Integer = 0
Dim sUniqueID As String = "MyPrivateCreatorDataElement"
' We will add some private tags
' First see if the Private Creator Data Element already exists -- search by unique ID, ANY group
Dim privateCreatorElement As DicomElement = ds.FindFirstPrivateCreatorDataElement(root, True, sUniqueID, 0)
' If the Private Creator Data Element does not exist, try to create it
If privateCreatorElement Is Nothing Then
privateCreatorElement = ds.CreatePrivateCreatorDataElement(root, elementGroup, &HFF, sUniqueID)
If privateCreatorElement Is Nothing Then
Return
End If
' Private Creator Data Element tag was created successfully
' Add it to the DICOM Tag table
DicomTagTable.Instance.Insert(privateCreatorElement.Tag, &HFFFFFFFFL, sUniqueID, privateCreatorElement.VR, 1, 1, 1)
End If
' Insert some private elements
Dim p As DicomElement
For i As Integer = 0 To 4
tag = ds.GetNextUnusedPrivateTag(privateCreatorElement)
p = ds.InsertElement(root, False, tag, DicomVRType.IS, False, 0)
If Not p Is Nothing Then
ds.SetIntValue(p, New Integer() {i}, 1)
End If
Next i
End Sub
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Examples;
public void DicomDataSet_CreatePrivateCreatorDataElement(DicomDataSet ds, DicomElement root, int elementGroup)
{
int tag = 0;
string sUniqueID = "MyPrivateCreatorDataElement";
// We will add some private tags
// First see if the Private Creator Data Element already exists -- search by unique ID, ANY group
DicomElement privateCreatorElement = ds.FindFirstPrivateCreatorDataElement(root, true, sUniqueID, 0);
// If the Private Creator Data Element does not exist, try to create it
if (privateCreatorElement == null)
{
privateCreatorElement = ds.CreatePrivateCreatorDataElement(root, elementGroup, 0xFF, sUniqueID);
if (privateCreatorElement == null)
return;
// Private Creator Data Element tag was created successfully
// Add it to the DICOM Tag table
DicomTagTable.Instance.Insert(
privateCreatorElement.Tag,
0xFFFFFFFF,
sUniqueID,
privateCreatorElement.VR,
1, 1, 1
);
}
// Insert some private elements
for (int i = 0; i < 5; i++)
{
tag = ds.GetNextUnusedPrivateTag(privateCreatorElement);
DicomElement p = ds.InsertElement(root, false, tag, DicomVRType.IS, false, 0);
if (p != null)
{
ds.SetIntValue(p, new int[] { i }, 1);
}
}
}
Imports Leadtools
Imports Leadtools.Dicom
Public Sub DicomDataSet_CreatePrivateCreatorDataElement(ByVal ds As DicomDataSet, ByVal root As DicomElement, ByVal elementGroup As Integer)
Dim tag As Integer = 0
Dim sUniqueID As String = "MyPrivateCreatorDataElement"
' We will add some private tags
' First see if the Private Creator Data Element already exists -- search by unique ID, ANY group
Dim privateCreatorElement As DicomElement = ds.FindFirstPrivateCreatorDataElement(root, True, sUniqueID, 0)
' If the Private Creator Data Element does not exist, try to create it
If privateCreatorElement Is Nothing Then
privateCreatorElement = ds.CreatePrivateCreatorDataElement(root, elementGroup, &HFF, sUniqueID)
If privateCreatorElement Is Nothing Then
Return
End If
' Private Creator Data Element tag was created successfully
' Add it to the DICOM Tag table
DicomTagTable.Instance.Insert(privateCreatorElement.Tag, &HFFFFFFFFL, sUniqueID, privateCreatorElement.VR, 1, 1, 1)
End If
' Insert some private elements
For i As Integer = 0 To 4
tag = ds.GetNextUnusedPrivateTag(privateCreatorElement)
Dim p As DicomElement = ds.InsertElement(root, False, tag, DicomVRType.IS, False, 0)
If Not p Is Nothing Then
ds.SetIntValue(p, New Integer() {i}, 1)
End If
Next i
End Sub
CreatePrivateCreatorDataElement Method
GetNextUnusedPrivateTag Method
FindFirstPrivateCreatorDataElement Method
FindNextPrivateCreatorDataElement Method
Products |
Support |
Feedback: CreatePrivateCreatorDataElement Method - Leadtools.Dicom |
Introduction |
Help Version 19.0.2017.6.16
|
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.