←Select platform

Insert Method

Summary
Inserts a new item in the Data Element Tag Table.
Syntax
C#
Objective-C
C++/CLI
Java
public DicomTag Insert( 
   long code, 
   long mask, 
   string name, 
   DicomVRType vr, 
   long minVM, 
   long maxVM, 
   long vmDivider 
) 
- (nullable LTDicomTag *)insert:(LTDicomTagCode)code mask:(NSUInteger)mask vr:(LTDicomVRType)vr minVM:(NSUInteger)minVM maxVM:(NSUInteger)maxVM vmDivider:(NSUInteger)VMDivider name:(NSString *)name NS_SWIFT_NAME(insert(code:mask:vr:minVM:maxVM:vmDivisder:name:)); 
public DicomTag insert(long code, long mask, String name, DicomVrType vr, long minVM, long maxVM, long vmDivider) 
public: 
DicomTag^ Insert(  
   int64 code, 
   int64 mask, 
   String^ name, 
   DicomVRType vr, 
   int64 minVM, 
   int64 maxVM, 
   int64 vmDivider 
)  

Parameters

code
Code that indicates the tag. For a list of default values, refer to Data Element Tag Values.

mask
Masking value. Masking allows you to insert multiple elements in the same entry in the table.

name
The name of the tag. For a list of default values, refer to the Data Element Tag Table.

vr
Value representation code that indicates the type of value stored in the data element.

minVM
The minimum number of values that may be stored in the Value Field of the Data Element.

maxVM
The maximum number of values that may be stored in the Value Field of the Data Element.

vmDivider
Value used to divide the value multiplicity. When multiple values are stored in the value field of a data element, the number of values present must be evenly divisible by vmDivider. For most items vmDivider will be 1. However, if the values stored in the value field are RGB triplets, for example, you would have to store three values for each triplet. You could store 12 values, since 12 values would be 4 triplets, however, you could not store 13 values. In this case vmDivider would be 3.

Return Value

The newly inserted item.

Remarks
Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void TestTagTable() 
{ 
 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
 
   //We don't need to call this since the DicomEngine.Startup already does that for us 
   //These calls are for demonstration purposes only 
   DicomTagTable.Instance.Reset(); 
   DicomTagTable.Instance.Default(); 
 
   //We can also call FindByIndex if we know the index of this Tag 
   DicomTag tag = DicomTagTable.Instance.Find(DicomTag.PatientName); 
   DicomTagTable.Instance.Delete(tag); 
 
   DicomTag tag1 = DicomTagTable.Instance.Insert(DicomTag.PatientName, 0xFFFFFFFF, "Patient's Name", DicomVRType.PN, 1, 1, 1); 
 
   Console.WriteLine("Tag Information:"); 
   Console.WriteLine("code is:         {0}", tag1.ToHexString()); 
   Console.WriteLine("VR is :          {0}", tag1.VR); 
   Console.WriteLine("MinVM is :       {0}", tag1.MinVM); 
   Console.WriteLine("MaxVM is :       {0}", tag1.MaxVM); 
   Console.WriteLine("VMDivider is :   {0}", tag1.VMDivider); 
 
   Debug.Assert(DicomTagTable.Instance.Exists(tag1) == true); 
   DicomTagTable.Instance.SetName(tag1, "Patient's Name 1"); 
 
   int count = 0; 
   //If we want to loop through all the Tags in the table we can do this: 
   tag = DicomTagTable.Instance.GetFirst(); 
   while (tag != null) 
   { 
      // We can also access the rest of the properties of DicomTag in here, 
      // such as DicomTagType.Code, DicomTagType.Name, DicomTagType.Mask 
 
      if (tag.Code == DicomTag.PatientName) 
      { 
         Console.WriteLine(tag.Name); 
      } 
      count++; 
      tag = DicomTagTable.Instance.GetNext(tag); 
   } 
   //We can use GetLast and GetPrevious to achieve the same thing 
 
   Debug.Assert(count == DicomTagTable.Instance.GetCount()); 
 
   DicomEngine.Shutdown(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.8.20
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.