本文整理汇总了C#中ClearCanvas.Dicom.DicomAttribute类的典型用法代码示例。如果您正苦于以下问题:C# DicomAttribute类的具体用法?C# DicomAttribute怎么用?C# DicomAttribute使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DicomAttribute类属于ClearCanvas.Dicom命名空间,在下文中一共展示了DicomAttribute类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: TryGetAttribute
public override bool TryGetAttribute(DicomTag tag, out DicomAttribute attribute)
{
lock (SyncLock)
{
// the instance dataset should always override the prototype values from the sliceset
return DataSet.TryGetAttribute(tag, out attribute) || Slice.TryGetAttribute(tag, out attribute);
}
}
开发者ID:jfphilbin,项目名称:ClearCanvas,代码行数:8,代码来源:VolumeSliceSopDataSource.cs
示例2: TryGetAttribute
public override bool TryGetAttribute(DicomTag tag, out DicomAttribute attribute)
{
lock (SyncLock)
{
if (NeedFullHeader(tag.TagValue))
GetFullHeader();
return base.TryGetAttribute(tag, out attribute);
}
}
开发者ID:nhannd,项目名称:Xian,代码行数:10,代码来源:ImageServerSopDataSource.cs
示例3: TryGetAttribute
public bool TryGetAttribute(uint tag, out DicomAttribute attribute)
{
if (this[tag] == null)
{
attribute = null;
return false;
}
attribute = this[tag];
return true;
}
开发者ID:nhannd,项目名称:Xian,代码行数:10,代码来源:ServerEntityAttributeProvider.cs
示例4: DicomEditorTag
public DicomEditorTag(DicomAttribute attribute, DicomEditorTag parentTag, int nestingLevel)
{
_attribute = attribute;
_group = _attribute.Tag.Group;
_element = _attribute.Tag.Element;
_tagName = _attribute.Tag.Name;
_parentTag = parentTag;
_nestingLevel = nestingLevel;
_postitionOrdinal = 0;
}
开发者ID:nhannd,项目名称:Xian,代码行数:12,代码来源:DicomEditorTag.cs
示例5: TryGetAttribute
public override bool TryGetAttribute(DicomTag tag, out DicomAttribute attribute)
{
lock (SyncLock)
{
if (_sop.IsStoredTag(tag))
{
attribute = _sop[tag];
if (!attribute.IsEmpty)
return true;
}
return base.TryGetAttribute(tag, out attribute);
}
}
开发者ID:nhannd,项目名称:Xian,代码行数:14,代码来源:LocalStoreSopDataSource.cs
示例6: DicomUncompressedPixelData
/// <summary>
/// Contructor from a <see cref="DicomCompressedPixelData"/> instance.
/// </summary>
/// <param name="compressedPixelData"></param>
public DicomUncompressedPixelData(DicomCompressedPixelData compressedPixelData)
: base(compressedPixelData)
{
if (BitsAllocated > 8)
{
_pd = new DicomAttributeOW(DicomTags.PixelData);
}
else
{
var pdTag = DicomTagDictionary.GetDicomTag(DicomTags.PixelData);
var obTag = new DicomTag(DicomTags.PixelData, pdTag.Name, pdTag.VariableName, DicomVr.OBvr, pdTag.MultiVR, pdTag.VMLow, pdTag.VMHigh, pdTag.Retired);
_pd = new DicomAttributeOB(obTag);
}
InitializeFrameData(this, _pd);
}
开发者ID:jfphilbin,项目名称:ClearCanvas,代码行数:19,代码来源:DicomUncompressedPixelData.cs
示例7: TryGetAttribute
public override bool TryGetAttribute(uint tag, out DicomAttribute attribute)
{
return _fusionHeaders.TryGetAttribute(tag, out attribute) || _realSopDataSource.TryGetAttribute(tag, out attribute);
}
开发者ID:m-berkani,项目名称:ClearCanvas,代码行数:4,代码来源:FusionSopDataSource.cs
示例8: SetTagCommand
/// <summary>
/// Creates an instance of <see cref="SetTagCommand"/> that can be used to update the specified dicom tag with the specified value
/// </summary>
/// <remarks>
/// <see cref="BaseImageLevelUpdateCommand.File"/> must be set prior to <see cref="BaseImageLevelUpdateCommand.OnExecute"></see>
/// </remarks>
public SetTagCommand(DicomAttribute attribute, string newValue)
: this(attribute.Tag.TagValue, String.Empty, newValue)
{
}
开发者ID:nhannd,项目名称:Xian,代码行数:10,代码来源:SetTagCommand.cs
示例9: TryGetAttribute
public override bool TryGetAttribute(uint tag, out DicomAttribute attribute)
{
lock (base.SyncLock)
{
if (_volumeReference.Volume.DataSet.TryGetAttribute(tag, out attribute))
return true;
return _instanceDataSet.TryGetAttribute(tag, out attribute);
}
}
开发者ID:nhannd,项目名称:Xian,代码行数:9,代码来源:VolumeSliceSopDataSource.cs
示例10: TryGetAttribute
public bool TryGetAttribute(DicomTag tag, out DicomAttribute attribute)
{
return TryGetAttribute(tag.TagValue, out attribute);
}
开发者ID:m-berkani,项目名称:ClearCanvas,代码行数:4,代码来源:ServerEntityAttributeProvider.cs
示例11: TryGetAttribute
public bool TryGetAttribute(uint tag, out DicomAttribute attribute)
{
lock (_syncRoot)
{
return _collection.TryGetAttribute(tag, out attribute);
}
}
开发者ID:yjsyyyjszf,项目名称:ClearCanvas-1,代码行数:7,代码来源:VolumeHeaderData.cs
示例12:
bool IDicomAttributeProvider.TryGetAttribute(uint dicomTag, out DicomAttribute dicomAttribute)
{
return _parentImageSop.TryGetFrameAttribute(_frameNumber, dicomTag, out dicomAttribute);
}
开发者ID:yjsyyyjszf,项目名称:ClearCanvas-1,代码行数:4,代码来源:Frame.cs
示例13: TryGetAttribute
/// <summary>
/// Attempts to get the attribute specified by <paramref name="tag"/>.
/// </summary>
public override bool TryGetAttribute(uint tag, out DicomAttribute attribute)
{
lock (SyncLock)
{
Load();
if (_sourceMessage.DataSet.TryGetAttribute(tag, out attribute))
return true;
return _sourceMessage.MetaInfo.TryGetAttribute(tag, out attribute);
}
}
开发者ID:m-berkani,项目名称:ClearCanvas,代码行数:15,代码来源:DicomMessageSopDataSource.cs
示例14: TryGetAttribute
public override bool TryGetAttribute(uint tag, out DicomAttribute attribute)
{
lock (SyncLock)
{
if (NeedFullHeader(tag))
LoadFullHeader();
return base.TryGetAttribute(tag, out attribute);
}
}
开发者ID:jfphilbin,项目名称:ClearCanvas,代码行数:10,代码来源:XmlSopDataSource.cs
示例15: ConvertPaletteColorToRgb
public void ConvertPaletteColorToRgb()
{
Platform.CheckTrue(PhotometricInterpretation.Equals("PALETTE COLOR"), "Photometric Interpretation Palette Color Check");
List<FrameData> frames = new List<FrameData>();
for (int i = 0; i < NumberOfFrames; i++)
{
byte[] currentFrame = GetFrame(i);
byte[] newFrame = new byte[UncompressedFrameSize*3];
PaletteColorToRgb(BitsAllocated, IsSigned, currentFrame, newFrame, PaletteColorLut);
frames.Add(new FrameDataBytes(this, newFrame, false));
}
// change the Pixel Data attribute so we don't affect the original
_pd = _pd.Tag.VR.CreateDicomAttribute(_pd.Tag);
_fd.Clear();
_fd.AddRange(frames);
SamplesPerPixel = 3;
PhotometricInterpretation = "RGB";
PlanarConfiguration = 0;
HasPaletteColorLut = false;
}
开发者ID:jfphilbin,项目名称:ClearCanvas,代码行数:26,代码来源:DicomUncompressedPixelData.cs
示例16: InitializeFrameData
private void InitializeFrameData(DicomUncompressedPixelData owner, DicomAttribute pixelDataAttribute)
{
var obAttrib = pixelDataAttribute as DicomAttributeOB;
if (obAttrib != null && obAttrib.StreamLength > 0)
{
for (var n = 0; n < NumberOfFrames; ++n)
_fd.Add(new FrameDataOB(owner, obAttrib, n));
}
var owAttrib = pixelDataAttribute as DicomAttributeOW;
if (owAttrib != null && owAttrib.StreamLength > 0)
{
for (var n = 0; n < NumberOfFrames; ++n)
_fd.Add(new FrameDataOW(owner, owAttrib, n));
}
}
开发者ID:jfphilbin,项目名称:ClearCanvas,代码行数:16,代码来源:DicomUncompressedPixelData.cs
示例17: TryGetAttribute
public bool TryGetAttribute(DicomTag tag, out DicomAttribute attribute)
{
return _collection.TryGetAttribute(tag, out attribute);
}
开发者ID:nhannd,项目名称:Xian,代码行数:4,代码来源:VolumeSopDataSourcePrototype.cs
示例18: EnsureCharacterSetIsGood
/// <summary>
/// Makes sure the new value can be encoded with the specific character set in the dicom file header. If necessary and if it's allowed,
/// convert the dicom file to use unicode (ISO_IR 192).
/// </summary>
/// <param name="file"></param>
/// <param name="attr"></param>
/// <param name="desiredValue"></param>
/// <exception cref="DicomCharacterSetException">Thrown if unicode is not allowed or (for some reason) the value cannot be encoded using unicode</exception>
private void EnsureCharacterSetIsGood(DicomFile file, DicomAttribute attr, string desiredValue)
{
var encodedValue = attr.GetEncodedString(file.TransferSyntax, file.DataSet.SpecificCharacterSet);
var diff = Diff(attr.Tag, encodedValue, desiredValue);
if (diff < 0)
{
// it's all good
return;
}
// The current specific character set does not support the new value. Try to encode it using unicode (if it's configured)
if (!CanSaveInUnicode)
{
Platform.Log(LogLevel.Debug, "'{0}' cannot be encoded using current Character Set and Unicode is not allowed. Aborting..", desiredValue);
//Throw DicomCharacterSetException
var characterSetDescriptions = SpecificCharacterSetParser.GetCharacterSetInfoDescriptions(file.DataSet.SpecificCharacterSet);
string instanceNumber = file.DataSet[DicomTags.InstanceNumber].ToString();
string instanceUid = file.DataSet[DicomTags.SopInstanceUid].ToString();
char badChar = diff >= desiredValue.Length ? desiredValue[desiredValue.Length - 1] : desiredValue[diff];
var error = string.Format("SOP {5}\n\nCannot set {0} to {1}. Character {2} is not covered by character set {3} [{4}].",
UpdateEntry.TagPath.Tag.Name, desiredValue, badChar, file.DataSet.SpecificCharacterSet,
StringUtilities.Combine(characterSetDescriptions, ","),
string.Format("#{0} [{1}]", instanceNumber, instanceUid)
);
Platform.Log(LogLevel.Error, error);
throw new DicomCharacterSetException(UpdateEntry.TagPath.Tag.TagValue, file.DataSet.SpecificCharacterSet, desiredValue, error);
}
// The attribute value has been set, only need to set specific character set to unicode
const string newSpecificCharacterSet = "ISO_IR 192";
// Before we commit the change, let's verify again if that's good.
Platform.Log(LogLevel.Debug, "'{0}'cannot be encoded using current Character Set and Unicode is allowed. Checking for value consistency if switching to Unicode encoding", desiredValue);
encodedValue = attr.GetEncodedString(file.TransferSyntax, newSpecificCharacterSet);
diff = Diff(attr.Tag, encodedValue, desiredValue);
if (diff >= 0)
{
// not ok?
var characterSetDescriptions = SpecificCharacterSetParser.GetCharacterSetInfoDescriptions(file.DataSet.SpecificCharacterSet);
string instanceNumber = file.DataSet[DicomTags.InstanceNumber].ToString();
string instanceUid = file.DataSet[DicomTags.SopInstanceUid].ToString();
char badChar = diff >= desiredValue.Length ? desiredValue[desiredValue.Length - 1] : desiredValue[diff];
var error = string.Format("SOP {5}\n\nCannot set {0} to {1}. Character {2} is not covered by character set {3} [{4}]. Attempt to use {6} did not solve the problem.",
UpdateEntry.TagPath.Tag.Name, desiredValue, badChar, file.DataSet.SpecificCharacterSet,
StringUtilities.Combine(characterSetDescriptions, ","),
string.Format("#{0} [{1}]", instanceNumber, instanceUid),
newSpecificCharacterSet
);
Platform.Log(LogLevel.Error, error);
throw new DicomCharacterSetException(UpdateEntry.TagPath.Tag.TagValue, file.DataSet.SpecificCharacterSet, desiredValue, error);
}
Platform.Log(LogLevel.Debug, "Specific Character Set for SOP {0} is now changed to unicode", file.MediaStorageSopInstanceUid);
file.DataSet.SpecificCharacterSet = newSpecificCharacterSet;
file.DataSet[DicomTags.SpecificCharacterSet].SetStringValue(newSpecificCharacterSet);
}
开发者ID:nhannd,项目名称:Xian,代码行数:70,代码来源:SetTagCommand.cs
示例19: TryGetAttribute
public override sealed bool TryGetAttribute(uint tag, out DicomAttribute dicomAttribute)
{
return TryGetFrameAttribute(-1, tag, out dicomAttribute);
}
开发者ID:yjsyyyjszf,项目名称:ClearCanvas-1,代码行数:4,代码来源:ImageSopMultiFrameSupport.cs
示例20: DicomAttribute
/// <summary>
/// Internal constructor used when copying an attribute from a pre-existing attribute instance.
/// </summary>
/// <param name="attrib">The attribute that is being copied.</param>
internal DicomAttribute(DicomAttribute attrib)
{
Tag = attrib.Tag;
_valueCount = attrib.Count;
_length = attrib.StreamLength;
}
开发者ID:UIKit0,项目名称:ClearCanvas,代码行数:10,代码来源:DicomAttribute.cs
注:本文中的ClearCanvas.Dicom.DicomAttribute类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论