本文整理汇总了C#中DvtkData.AddAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# DvtkData.AddAttribute方法的具体用法?C# DvtkData.AddAttribute怎么用?C# DvtkData.AddAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DvtkData
的用法示例。
在下文中一共展示了DvtkData.AddAttribute方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddRadiationDoseDefaultValues
private static void AddRadiationDoseDefaultValues(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager,
DvtkData.Dimse.DataSet dataset)
{
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.DISTANCE_SOURCE_TO_DETECTOR) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.DISTANCE_SOURCE_TO_DETECTOR, VR.DS, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.IMAGE_AREA_DOSE_PRODUCT) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.IMAGE_AREA_DOSE_PRODUCT, VR.DS, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.TOTAL_TIME_OF_FLUOROSCOPY) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.TOTAL_TIME_OF_FLUOROSCOPY, VR.US, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.TOTAL_NUMBER_OF_EXPOSURES) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.TOTAL_NUMBER_OF_EXPOSURES, VR.US, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.ENTRANCE_DOSE) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.ENTRANCE_DOSE, VR.US, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.EXPOSED_AREA) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.EXPOSED_AREA, VR.US, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.DISTANCE_SOURCE_TO_ENTRANCE) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.DISTANCE_SOURCE_TO_ENTRANCE, VR.DS, dataset);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.COMMENTS_ON_RADIATION_DOSE) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.COMMENTS_ON_RADIATION_DOSE, VR.ST, dataset);
}
DvtkData.Dimse.SequenceItem exposeureDoseSequenceItem = new DvtkData.Dimse.SequenceItem();
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.KVP) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.KVP, VR.DS, exposeureDoseSequenceItem);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.EXPOSURE_TIME) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.EXPOSURE_TIME, VR.IS, exposeureDoseSequenceItem);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.RADIATION_MODE) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.RADIATION_MODE, VR.CS, exposeureDoseSequenceItem);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.FILTER_TYPE) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.FILTER_TYPE, VR.SH, exposeureDoseSequenceItem);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.FILTER_MATERIAL) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.FILTER_MATERIAL, VR.CS, exposeureDoseSequenceItem);
}
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.X_RAY_TUBE_CURRENT_IN_UA) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.X_RAY_TUBE_CURRENT_IN_UA, VR.DS, exposeureDoseSequenceItem);
}
if (exposeureDoseSequenceItem.Count > 0)
{
dataset.AddAttribute(DvtkData.Dimse.Tag.EXPOSURE_DOSE_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.EXPOSURE_DOSE_SEQUENCE.ElementNumber,
VR.SQ, exposeureDoseSequenceItem);
}
}
示例2: AddDefaultWorklistResponseValues
private static void AddDefaultWorklistResponseValues(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager, DvtkData.Dimse.DataSet dataset)
{
DvtkData.Dimse.SequenceItem scheduledProcedureStepSequenceItem = null;
// try to get the scheduled procedure step sequence from the dataset
DvtkData.Dimse.Attribute sequenceAttribute = dataset.GetAttribute(DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_SEQUENCE);
if ((sequenceAttribute != null) &&
(sequenceAttribute.ValueRepresentation == DvtkData.Dimse.VR.SQ))
{
SequenceOfItems sequenceOfItems = (SequenceOfItems)sequenceAttribute.DicomValue;
if (sequenceOfItems.Sequence.Count == 1)
{
scheduledProcedureStepSequenceItem = sequenceOfItems.Sequence[0];
}
}
// if the scheduled procedure step sequence is not present - add an empty one
if (scheduledProcedureStepSequenceItem == null)
{
scheduledProcedureStepSequenceItem = new DvtkData.Dimse.SequenceItem();
dataset.AddAttribute(DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, scheduledProcedureStepSequenceItem);
}
// Patient Entity default values
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_NAME, VR.PN, dataset);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.PATIENT_ID, VR.LO, dataset);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_BIRTH_DATE, VR.DA, dataset);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_SEX, VR.CS, dataset);
// Imaging Service Request Entity default values
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.ACCESSION_NUMBER, VR.SH, dataset);
// Requested Procedure Entity default values
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.REQUESTED_PROCEDURE_ID, VR.SH, dataset);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.REQUESTED_PROCEDURE_DESCRIPTION, VR.LO, dataset);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.STUDY_INSTANCE_UID, VR.UI, dataset);
// Scheduled Procedure Step Entity default values
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.MODALITY, VR.CS, scheduledProcedureStepSequenceItem);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_ID, VR.SH, scheduledProcedureStepSequenceItem);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_DESCRIPTION, VR.LO, scheduledProcedureStepSequenceItem);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_START_DATE, VR.DA, scheduledProcedureStepSequenceItem);
AddDefaultValueEvenIfZeroLength(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_START_TIME, VR.TM, scheduledProcedureStepSequenceItem);
}
示例3: AddQueryRetrieveKeys
private static void AddQueryRetrieveKeys(TagValueCollection queryTags, DvtkData.Dimse.DataSet dataset)
{
// use script session to get to definition singleton
Dvtk.Sessions.ScriptSession scriptSession = new Dvtk.Sessions.ScriptSession();
// iterate over the query tags
foreach(DicomTagValue queryTag in queryTags)
{
if (queryTag.ParentSequenceTag != DvtkData.Dimse.Tag.UNDEFINED)
{
// try to get the sequence tag in the dataset
DvtkData.Dimse.Attribute sequenceAttribute = dataset.GetAttribute(queryTag.ParentSequenceTag);
if ((sequenceAttribute != null) &&
(sequenceAttribute.ValueRepresentation == DvtkData.Dimse.VR.SQ))
{
SequenceOfItems sequenceOfItems = (SequenceOfItems)sequenceAttribute.DicomValue;
if (sequenceOfItems.Sequence.Count == 1)
{
DvtkData.Dimse.SequenceItem item = sequenceOfItems.Sequence[0];
if (item != null)
{
VR vr = scriptSession.DefinitionManagement.GetAttributeVrFromDefinition(queryTag.Tag);
// add the query value
item.AddAttribute(queryTag.Tag.GroupNumber,
queryTag.Tag.ElementNumber,
vr,
queryTag.Value);
}
}
}
}
else
{
VR vr = scriptSession.DefinitionManagement.GetAttributeVrFromDefinition(queryTag.Tag);
// add the query value
dataset.AddAttribute(queryTag.Tag.GroupNumber,
queryTag.Tag.ElementNumber,
vr,
queryTag.Value);
}
}
}
示例4: AddDefaultValue
private static void AddDefaultValue(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager,
DvtkData.Dimse.Tag tag,
VR vr,
DvtkData.Dimse.AttributeSet attributeSet)
{
// Only add a default value if the attribute does not already exist
DvtkData.Dimse.Attribute attribute = attributeSet.GetAttribute(tag);
if (attribute == null)
{
// Attribute does not exist so add a default value
System.String lValue = defaultValueManager.GetInstantiatedValue(tag);
attributeSet.AddAttribute(tag.GroupNumber, tag.ElementNumber, (DvtkData.Dimse.VR)vr, lValue);
}
}
示例5: AddDefaultValueEvenIfZeroLength
private static void AddDefaultValueEvenIfZeroLength(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager,
DvtkData.Dimse.Tag tag,
VR vr,
DvtkData.Dimse.AttributeSet attributeSet)
{
// Only add a default value if the attribute does not already exist or has a zero length
DvtkData.Dimse.Attribute attribute = attributeSet.GetAttribute(tag);
if (attribute == null)
{
// Attribute does not exist so add a default value
System.String lValue = defaultValueManager.GetInstantiatedValue(tag);
attributeSet.AddAttribute(tag.GroupNumber, tag.ElementNumber, (DvtkData.Dimse.VR)vr, lValue);
}
else if (attribute.Length == 0)
{
// Remove the existing attribute
attributeSet.Remove(attribute);
// Attribute had zero length so add a default value
System.String lValue = defaultValueManager.GetInstantiatedValue(tag);
attributeSet.AddAttribute(tag.GroupNumber, tag.ElementNumber, (DvtkData.Dimse.VR)vr, lValue);
}
}
示例6: AddDefaultMppsCompletedDiscontinuedValues
private static void AddDefaultMppsCompletedDiscontinuedValues(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager,
ReferencedSopItemCollection storageCommitItems,
DvtkData.Dimse.DataSet dataset,
System.String mppsStatus)
{
DvtkData.Dimse.SequenceItem performedSeriesSequenceItem = new DvtkData.Dimse.SequenceItem();
// Series Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PROTOCOL_NAME, VR.LO, performedSeriesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.RETRIEVE_AE_TITLE, VR.AE, performedSeriesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SERIES_DESCRIPTION, VR.LO, performedSeriesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMING_PHYSICIANS_NAME, VR.PN, performedSeriesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.OPERATORS_NAME, VR.PN, performedSeriesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SERIES_INSTANCE_UID, VR.UI, performedSeriesSequenceItem);
performedSeriesSequenceItem.AddAttribute(DvtkData.Dimse.Tag.REFERENCED_STANDALONE_SOP_INSTANCE_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.REFERENCED_STANDALONE_SOP_INSTANCE_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
// Performed Procedure Step Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_END_DATE, VR.DA, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_END_TIME, VR.TM, dataset);
if (defaultValueManager.GetInstantiatedValue(DvtkData.Dimse.Tag.COMMENTS_ON_THE_PERFORMED_PROCEDURE_STEPS) != System.String.Empty)
{
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.COMMENTS_ON_THE_PERFORMED_PROCEDURE_STEPS, VR.ST, dataset);
}
AddReferencedSopSequence(storageCommitItems, 0x00081140, performedSeriesSequenceItem, InstanceStateEnum.InstanceMppsCompleted);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, performedSeriesSequenceItem);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_STATUS.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_STATUS.ElementNumber,
VR.CS, mppsStatus);
// Add any RadiationDoseDefaultValues default values
AddRadiationDoseDefaultValues(defaultValueManager, dataset);
}
示例7: AddDefaultMppsInProgressValues
private static void AddDefaultMppsInProgressValues(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager, DvtkData.Dimse.DataSet dataset)
{
DvtkData.Dimse.SequenceItem scheduledStepAttributesSequenceItem = new DvtkData.Dimse.SequenceItem();
// Patient Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_NAME, VR.PN, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENT_ID, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_BIRTH_DATE, VR.DA, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_SEX, VR.CS, dataset);
// Study Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_ID, VR.SH, dataset);
// Requested Procedure Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.REQUESTED_PROCEDURE_ID, VR.SH, scheduledStepAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.REQUESTED_PROCEDURE_DESCRIPTION, VR.LO, scheduledStepAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_INSTANCE_UID, VR.UI, scheduledStepAttributesSequenceItem);
// Scheduled Procedure Step Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.MODALITY, VR.CS, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_ID, VR.SH, scheduledStepAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_DESCRIPTION, VR.LO, scheduledStepAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_START_DATE, VR.DA, scheduledStepAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_START_TIME, VR.TM, scheduledStepAttributesSequenceItem);
// Performed Procedure Step Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_ID, VR.SH, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_DESCRIPTION, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_START_DATE, VR.DA, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_START_TIME, VR.TM, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_STATION_AE_TITLE, VR.AE, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_STATION_NAME, VR.SH, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_LOCATION, VR.SH, dataset);
// Add in zero length attributes
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_END_DATE.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_END_DATE.ElementNumber,
DvtkData.Dimse.VR.DA);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_END_TIME.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_END_TIME.ElementNumber,
DvtkData.Dimse.VR.TM);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_TYPE_DESCRIPTION.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_TYPE_DESCRIPTION.ElementNumber,
DvtkData.Dimse.VR.LO);
dataset.AddAttribute(DvtkData.Dimse.Tag.REFERENCED_PATIENT_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.REFERENCED_PATIENT_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
dataset.AddAttribute(DvtkData.Dimse.Tag.PROCEDURE_CODE_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.PROCEDURE_CODE_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_ACTION_ITEM_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_ACTION_ITEM_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
scheduledStepAttributesSequenceItem.AddAttribute(DvtkData.Dimse.Tag.SCHEDULED_ACTION_ITEM_CODE_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.SCHEDULED_ACTION_ITEM_CODE_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
scheduledStepAttributesSequenceItem.AddAttribute(DvtkData.Dimse.Tag.REFERENCED_STUDY_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.REFERENCED_STUDY_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ);
dataset.AddAttribute(DvtkData.Dimse.Tag.SCHEDULED_STEP_ATTRIBUTES_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.SCHEDULED_STEP_ATTRIBUTES_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, scheduledStepAttributesSequenceItem);
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_STATUS.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_STATUS.ElementNumber,
DvtkData.Dimse.VR.CS, "IN PROGRESS");
}
示例8: AddStoreInstanceValues
private static void AddStoreInstanceValues(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager,
DvtkData.Dimse.DataSet dataset,
bool generateImageData)
{
DvtkData.Dimse.SequenceItem requestAttributesSequenceItem = new DvtkData.Dimse.SequenceItem();
// Patient Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_NAME, VR.PN, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENT_ID, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_BIRTH_DATE, VR.DA, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PATIENTS_SEX, VR.CS, dataset);
// Study Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_DESCRIPTION, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_ID, VR.SH, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_DATE, VR.DA, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_TIME, VR.TM, dataset);
// Series Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PROTOCOL_NAME, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SERIES_DESCRIPTION, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMING_PHYSICIANS_NAME, VR.PN, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.OPERATORS_NAME, VR.PN, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SERIES_INSTANCE_UID, VR.UI, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SERIES_NUMBER, VR.IS, dataset);
// Instance Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SOP_INSTANCE_UID, VR.UI, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.INSTANCE_NUMBER, VR.IS, dataset);
// Image Service Request Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.ACCESSION_NUMBER, VR.SH, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.REFERRING_PHYSICIANS_NAME, VR.PN, dataset);
// Requested Procedure Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.REQUESTED_PROCEDURE_ID, VR.SH, requestAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.STUDY_INSTANCE_UID, VR.UI, dataset);
// Scheduled Procedure Step Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.MODALITY, VR.CS, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_ID, VR.SH, requestAttributesSequenceItem);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SCHEDULED_PROCEDURE_STEP_DESCRIPTION, VR.LO, requestAttributesSequenceItem);
// Performed Procedure Step Entity default values
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_ID, VR.SH, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_DESCRIPTION, VR.LO, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_START_DATE, VR.DA, dataset);
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.PERFORMED_PROCEDURE_STEP_START_TIME, VR.TM, dataset);
// Check if the Request Attribute Sequence is already present
DvtkData.Dimse.Attribute requestAttributesSequence = dataset.GetAttribute(DvtkData.Dimse.Tag.REQUEST_ATTRIBUTES_SEQUENCE);
if (requestAttributesSequence != null)
{
// Remove the existing (old) sequence
dataset.Remove(requestAttributesSequence);
}
// Add the new sequence
dataset.AddAttribute(DvtkData.Dimse.Tag.REQUEST_ATTRIBUTES_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.REQUEST_ATTRIBUTES_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, requestAttributesSequenceItem);
// Check if we need to generate the image data too (including pixel data)
if (generateImageData == true)
{
// Add Secondary Capture image data
dataset.AddAttribute(DvtkData.Dimse.Tag.SOP_CLASS_UID.GroupNumber,
DvtkData.Dimse.Tag.SOP_CLASS_UID.ElementNumber,
DvtkData.Dimse.VR.UI, "1.2.840.10008.5.1.4.1.1.7");
dataset.AddAttribute(DvtkData.Dimse.Tag.CONVERSION_TYPE.GroupNumber,
DvtkData.Dimse.Tag.CONVERSION_TYPE.ElementNumber,
DvtkData.Dimse.VR.CS, "DV");
dataset.AddAttribute(DvtkData.Dimse.Tag.PATIENT_ORIENTATION.GroupNumber,
DvtkData.Dimse.Tag.PATIENT_ORIENTATION.ElementNumber,
DvtkData.Dimse.VR.CS);
dataset.AddAttribute(DvtkData.Dimse.Tag.SAMPLES_PER_PIXEL.GroupNumber,
DvtkData.Dimse.Tag.SAMPLES_PER_PIXEL.ElementNumber,
DvtkData.Dimse.VR.US, 1);
dataset.AddAttribute(DvtkData.Dimse.Tag.PHOTOMETRIC_INTERPRETATION.GroupNumber,
DvtkData.Dimse.Tag.PHOTOMETRIC_INTERPRETATION.ElementNumber,
DvtkData.Dimse.VR.CS, "MONOCHROME2");
dataset.AddAttribute(DvtkData.Dimse.Tag.ROWS.GroupNumber,
DvtkData.Dimse.Tag.ROWS.ElementNumber,
DvtkData.Dimse.VR.US, 512);
dataset.AddAttribute(DvtkData.Dimse.Tag.COLUMNS.GroupNumber,
DvtkData.Dimse.Tag.COLUMNS.ElementNumber,
DvtkData.Dimse.VR.US, 512);
dataset.AddAttribute(DvtkData.Dimse.Tag.BITS_ALLOCATED.GroupNumber,
DvtkData.Dimse.Tag.BITS_ALLOCATED.ElementNumber,
DvtkData.Dimse.VR.US, 8);
dataset.AddAttribute(DvtkData.Dimse.Tag.BITS_STORED.GroupNumber,
DvtkData.Dimse.Tag.BITS_STORED.ElementNumber,
DvtkData.Dimse.VR.US, 8);
dataset.AddAttribute(DvtkData.Dimse.Tag.HIGH_BIT.GroupNumber,
DvtkData.Dimse.Tag.HIGH_BIT.ElementNumber,
DvtkData.Dimse.VR.US, 7);
dataset.AddAttribute(DvtkData.Dimse.Tag.PIXEL_REPRESENTATION.GroupNumber,
DvtkData.Dimse.Tag.PIXEL_REPRESENTATION.ElementNumber,
//.........这里部分代码省略.........
示例9: UpdateValue
private static void UpdateValue(System.String attributeValue,
DvtkData.Dimse.Tag tag,
VR vr,
DvtkData.Dimse.AttributeSet attributeSet)
{
// Only update the value if the dataset contains an attribute with the same tag
DvtkData.Dimse.Attribute attribute = attributeSet.GetAttribute(tag);
if (attribute != null)
{
// Remove the existing attribute
attributeSet.Remove(attribute);
// Add the new (updated) value
attributeSet.AddAttribute(tag.GroupNumber, tag.ElementNumber, (DvtkData.Dimse.VR)vr, attributeValue);
}
}
示例10: AddStorageCommitmentValues
private static void AddStorageCommitmentValues(ReferencedSopItemCollection storageCommitItems,
DvtkData.Dimse.DataSet dataset,
System.String storageCommitTransactionUid,
System.String mppsInstanceUid)
{
DvtkData.Dimse.SequenceItem referencedStudyComponentSequenceItem = new DvtkData.Dimse.SequenceItem();
referencedStudyComponentSequenceItem.AddAttribute(DvtkData.Dimse.Tag.REFERENCED_SOP_CLASS_UID.GroupNumber,
DvtkData.Dimse.Tag.REFERENCED_SOP_CLASS_UID.ElementNumber,
DvtkData.Dimse.VR.UI, "1.2.840.10008.3.1.2.3.3");
referencedStudyComponentSequenceItem.AddAttribute(DvtkData.Dimse.Tag.REFERENCED_SOP_INSTANCE_UID.GroupNumber,
DvtkData.Dimse.Tag.REFERENCED_SOP_INSTANCE_UID.ElementNumber,
DvtkData.Dimse.VR.UI, mppsInstanceUid);
dataset.AddAttribute(DvtkData.Dimse.Tag.REFERENCED_STUDY_COMPONENT_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.REFERENCED_STUDY_COMPONENT_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, referencedStudyComponentSequenceItem);
AddReferencedSopSequence(storageCommitItems, 0x00081199, dataset, InstanceStateEnum.InstanceStorageCommitRequested);
dataset.AddAttribute(DvtkData.Dimse.Tag.TRANSACTION_UID.GroupNumber,
DvtkData.Dimse.Tag.TRANSACTION_UID.ElementNumber,
DvtkData.Dimse.VR.UI, storageCommitTransactionUid);
}
示例11: AddStorageCommitItems
private static void AddStorageCommitItems(Dvtk.Dicom.InformationEntity.DefaultValues.DefaultValueManager defaultValueManager,
ReferencedSopItemCollection storageCommitItems,
DvtkData.Dimse.DataSet dataset)
{
DvtkData.Dimse.SequenceItem performedSeriesSequenceItem = null;
// Try to get the Performed Series Sequence
DvtkData.Dimse.Attribute performedSeriesSequence = dataset.GetAttribute(DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE);
if (performedSeriesSequence != null)
{
DvtkData.Dimse.SequenceOfItems sequenceOfItems = (DvtkData.Dimse.SequenceOfItems)performedSeriesSequence.DicomValue;
if (sequenceOfItems.Sequence.Count == 1)
{
performedSeriesSequenceItem = sequenceOfItems.Sequence[0];
}
else
{
dataset.Remove(performedSeriesSequence);
performedSeriesSequenceItem = new DvtkData.Dimse.SequenceItem();
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, performedSeriesSequenceItem);
}
}
else
{
performedSeriesSequenceItem = new DvtkData.Dimse.SequenceItem();
dataset.AddAttribute(DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.GroupNumber,
DvtkData.Dimse.Tag.PERFORMED_SERIES_SEQUENCE.ElementNumber,
DvtkData.Dimse.VR.SQ, performedSeriesSequenceItem);
}
if (performedSeriesSequenceItem != null)
{
// Series Entity default values
DvtkData.Dimse.Attribute seriesInstanceUid = performedSeriesSequenceItem.GetAttribute(DvtkData.Dimse.Tag.SERIES_INSTANCE_UID);
if (seriesInstanceUid != null)
{
performedSeriesSequenceItem.Remove(seriesInstanceUid);
}
AddDefaultValue(defaultValueManager, DvtkData.Dimse.Tag.SERIES_INSTANCE_UID, VR.UI, performedSeriesSequenceItem);
AddReferencedSopSequence(storageCommitItems, 0x00081140, performedSeriesSequenceItem, InstanceStateEnum.InstanceMppsCompleted);
}
}
示例12: AddTagsToDataset
private static void AddTagsToDataset(TagValueCollection tags, DvtkData.Dimse.DataSet dataset)
{
// iterate over the tags
foreach(DicomTagValue tag in tags)
{
if (tag.ParentSequenceTag != Tag.UNDEFINED)
{
// try to get the sequence tag in the dataset
DvtkData.Dimse.Attribute sequenceAttribute = dataset.GetAttribute(tag.ParentSequenceTag);
if ((sequenceAttribute != null) &&
(sequenceAttribute.ValueRepresentation == DvtkData.Dimse.VR.SQ))
{
SequenceOfItems sequenceOfItems = (SequenceOfItems)sequenceAttribute.DicomValue;
if (sequenceOfItems.Sequence.Count == 1)
{
SequenceItem item = sequenceOfItems.Sequence[0];
if (item != null)
{
VR vr = VR.UN;
// try to get the attribute in the item
DvtkData.Dimse.Attribute attribute = item.GetAttribute(tag.Tag);
if (attribute != null)
{
vr = attribute.ValueRepresentation;
item.Remove(attribute);
}
// add the query value
item.AddAttribute(tag.Tag.GroupNumber,
tag.Tag.ElementNumber,
vr,
tag.Value);
}
}
}
}
else
{
VR vr = VR.UN;
// try to get the attribute in the dataset
DvtkData.Dimse.Attribute attribute = dataset.GetAttribute(tag.Tag);
if (attribute != null)
{
vr = attribute.ValueRepresentation;
dataset.Remove(attribute);
}
// special check for the SPECIFIC CHARACTER SET attribute
if (tag.Tag == Tag.SPECIFIC_CHARACTER_SET)
{
vr = VR.CS;
}
// add the query value
dataset.AddAttribute(tag.Tag.GroupNumber,
tag.Tag.ElementNumber,
vr,
tag.Value);
}
}
}
示例13: AddDefaultReturnKeys
private static void AddDefaultReturnKeys(DvtkData.Dimse.DataSet dataset)
{
// use the Worklist Information Entities to generate the default Return Key attribute set
PatientInformationEntity patientIe = new PatientInformationEntity();
foreach(TagType tagType in patientIe.TagTypeList)
{
dataset.AddAttribute(tagType.Tag.GroupNumber, tagType.Tag.ElementNumber, tagType.Vr);
}
VisitInformationEntity visitIe = new VisitInformationEntity();
foreach(TagType tagType in visitIe.TagTypeList)
{
dataset.AddAttribute(tagType.Tag.GroupNumber, tagType.Tag.ElementNumber, tagType.Vr);
}
ImagingServiceRequestInformationEntity imagingServiceRequestIe = new ImagingServiceRequestInformationEntity();
foreach(TagType tagType in imagingServiceRequestIe.TagTypeList)
{
dataset.AddAttribute(tagType.Tag.GroupNumber, tagType.Tag.ElementNumber, tagType.Vr);
}
RequestedProcedureInformationEntity requestedProcedureIe = new RequestedProcedureInformationEntity();
foreach(TagType tagType in requestedProcedureIe.TagTypeList)
{
dataset.AddAttribute(tagType.Tag.GroupNumber, tagType.Tag.ElementNumber, tagType.Vr);
}
SequenceItem item = new SequenceItem();
ScheduledProcedureStepInformationEntity scheduledProcedureStepIe = new ScheduledProcedureStepInformationEntity();
foreach(TagType tagType in scheduledProcedureStepIe.TagTypeList)
{
if (tagType.Tag != Tag.SPECIFIC_CHARACTER_SET)
{
item.AddAttribute(tagType.Tag.GroupNumber, tagType.Tag.ElementNumber, tagType.Vr);
}
}
dataset.AddAttribute(Tag.SCHEDULED_PROCEDURE_STEP_SEQUENCE.GroupNumber,
Tag.SCHEDULED_PROCEDURE_STEP_SEQUENCE.ElementNumber, VR.SQ, item);
}
示例14: AddDicomAttribute
private static void AddDicomAttribute(DvtkData.Dimse.AttributeSet dataset, DicomTagPath dicomTagPath, System.String dicomValue)
{
if (dicomTagPath.Next != null)
{
// Try to get the sequence identified by this Tag
DvtkData.Dimse.Attribute sequenceAttribute = dataset.GetAttribute(dicomTagPath.Tag);
if (sequenceAttribute == null)
{
// Need to add the sequence
DvtkData.Dimse.SequenceItem item = new DvtkData.Dimse.SequenceItem();
dataset.AddAttribute(dicomTagPath.Tag.GroupNumber,
dicomTagPath.Tag.ElementNumber,
DvtkData.Dimse.VR.SQ, item);
// Get the newly added sequence
sequenceAttribute = dataset.GetAttribute(dicomTagPath.Tag);
}
// Get the contained item
DvtkData.Dimse.SequenceOfItems sequenceOfItems = (DvtkData.Dimse.SequenceOfItems)sequenceAttribute.DicomValue;
if (sequenceOfItems.Sequence.Count == 1)
{
DvtkData.Dimse.SequenceItem item = sequenceOfItems.Sequence[0];
// Call recursively
AddDicomAttribute(item, dicomTagPath.Next, dicomValue);
}
}
else
{
// Try to get the attribute identified by this Tag
DvtkData.Dimse.Attribute attribute = dataset.GetAttribute(dicomTagPath.Tag);
if (attribute != null)
{
// If present - remove the attribute - we want to update the value
dataset.Remove(attribute);
}
// Add the new value
dataset.AddAttribute(dicomTagPath.Tag.GroupNumber, dicomTagPath.Tag.ElementNumber, DicomTagVrLookup.GetVR(dicomTagPath.Tag), dicomValue);
}
}