本文整理汇总了C#中DicomTag类的典型用法代码示例。如果您正苦于以下问题:C# DicomTag类的具体用法?C# DicomTag怎么用?C# DicomTag使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DicomTag类属于命名空间,在下文中一共展示了DicomTag类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: OnBeginSequence
public void OnBeginSequence(IByteSource source, DicomTag tag, uint length) {
DicomSequence sq = new DicomSequence(tag);
_sequences.Push(sq);
DicomDataset ds = _datasets.Peek();
ds.Add(sq);
}
开发者ID:dremerdt,项目名称:fo-dicom,代码行数:7,代码来源:DicomDatasetReaderObserver.cs
示例2: DicomReaderEventArgs
public DicomReaderEventArgs(long position, DicomTag tag, DicomVR vr, IByteBuffer data)
{
Position = position;
Tag = tag;
VR = vr;
Data = data;
}
开发者ID:aerik,项目名称:fo-dicom,代码行数:7,代码来源:DicomReaderEventArgs.cs
示例3: OnBeginSequence
public void OnBeginSequence(IByteSource source, DicomTag tag, uint length)
{
_currentSequenceTag.Push(tag);
if (tag == DicomTag.DirectoryRecordSequence) {
_directoryRecordSequence = _dataset.Get<DicomSequence>(tag);
}
}
开发者ID:anqin888,项目名称:fo-dicom,代码行数:7,代码来源:DicomDirectoryReaderObserver.cs
示例4: TestFile
public void TestFile()
{
string filename = "OutOfRange.dcm";
DicomFile file = new DicomFile(filename, new DicomAttributeCollection(), new DicomAttributeCollection());
SetupMR(file.DataSet);
SetupMetaInfo(file);
DicomTag tag = new DicomTag(0x00030010, "Test", "TestBad", DicomVr.LOvr, false, 1, 1, false);
file.DataSet[tag].SetStringValue("Test");
file.Save(filename);
file = new DicomFile(filename);
file.DataSet.IgnoreOutOfRangeTags = true;
file.Load();
Assert.IsNotNull(file.DataSet.GetAttribute(tag));
file = new DicomFile(filename);
file.DataSet.IgnoreOutOfRangeTags = false;
try
{
file.Load();
Assert.Fail("file.Load failed");
}
catch (DicomException)
{
}
}
开发者ID:khaha2210,项目名称:radio,代码行数:35,代码来源:AttributeCollectionTest.cs
示例5: IsStoredTag
private bool IsStoredTag(DicomTag tag)
{
if (_metaInfo.Contains(tag))
return true;
//if it's meta info, just defer to the file.
if (tag.TagValue <= 0x0002FFFF)
return false;
if (_xml.IsTagExcluded(tag.TagValue))
return false;
if (tag.VR == DicomVr.SQvr)
{
var items = _xml[tag].Values as DicomSequenceItem[];
if (items != null)
{
if (items.OfType<InstanceXmlDicomSequenceItem>().Any(item => item.HasExcludedTags(true)))
return false;
}
}
bool isBinary = tag.VR == DicomVr.OBvr || tag.VR == DicomVr.OWvr || tag.VR == DicomVr.OFvr;
//these tags are not stored in the xml.
if (isBinary || tag.IsPrivate || tag.VR == DicomVr.UNvr)
return false;
return true;
}
开发者ID:yjsyyyjszf,项目名称:ClearCanvas-1,代码行数:29,代码来源:SopInstance.cs
示例6: BeginRead
public IAsyncResult BeginRead(IByteSource source, IDicomReaderObserver observer, DicomTag stop, AsyncCallback callback, object state) {
_stop = stop;
_observer = observer;
_result = DicomReaderResult.Processing;
_exception = null;
_async = new EventAsyncResult(callback, state);
ThreadPool.QueueUserWorkItem(ParseProc, source);
return _async;
}
开发者ID:peerct,项目名称:fo-dicom,代码行数:9,代码来源:DicomReader.cs
示例7: OnElement_ValidData_AddsCorrectTypeToDataset
public void OnElement_ValidData_AddsCorrectTypeToDataset(DicomTag tag, DicomVR vr, string data, Type expected)
{
var dataset = new DicomDataset();
var observer = new DicomDatasetReaderObserver(dataset);
var buffer = new MemoryByteBuffer(Encoding.ASCII.GetBytes(data));
observer.OnElement(null, tag, vr, buffer);
Assert.IsType(expected, dataset.First());
}
开发者ID:aerik,项目名称:fo-dicom,代码行数:9,代码来源:DicomDatasetReaderObserverTest.cs
示例8: DicomNGetRequest
public DicomNGetRequest(
DicomUID requestedClassUid,
DicomUID requestedInstanceUid,
DicomTag[] attributes,
DicomPriority priority = DicomPriority.Medium)
: base(DicomCommandField.NGetRequest, requestedClassUid, priority)
{
SOPInstanceUID = requestedInstanceUid;
}
开发者ID:GMZ,项目名称:fo-dicom,代码行数:9,代码来源:DicomNGetRequest.cs
示例9: OnBeginFragmentSequence
public void OnBeginFragmentSequence(IByteSource source, DicomTag tag, DicomVR vr)
{
_log.Log(
_level,
"{marker:x8}: {padding}{tag} {vrCode} {tagDictionaryEntryName}",
source.Marker,
_pad,
tag,
vr.Code,
tag.DictionaryEntry.Name);
IncreaseDepth();
}
开发者ID:aerik,项目名称:fo-dicom,代码行数:12,代码来源:DicomParserLogger.cs
示例10: OnBeginSequence
public void OnBeginSequence(IByteSource source, DicomTag tag, uint length)
{
_log.Log(
_level,
"{marker:x8}: {padding}{tag} SQ {length}",
source.Marker,
_pad,
tag,
tag.DictionaryEntry.Name,
length);
IncreaseDepth();
}
开发者ID:aerik,项目名称:fo-dicom,代码行数:12,代码来源:DicomParserLogger.cs
示例11: OnElement
public void OnElement(IByteSource source, DicomTag tag, DicomVR vr, IByteBuffer data)
{
_log.Log(
_level,
"{marker:x8}: {padding}{tag} {vrCode} {tagDictionaryEntryName} [{size}]",
source.Marker,
_pad,
tag,
vr.Code,
tag.DictionaryEntry.Name,
data.Size);
}
开发者ID:aerik,项目名称:fo-dicom,代码行数:12,代码来源:DicomParserLogger.cs
示例12: OnBeginFragmentSequence
public void OnBeginFragmentSequence(IByteSource source, DicomTag tag, DicomVR vr)
{
if (vr == DicomVR.OB)
_fragment = new DicomOtherByteFragment(tag);
else if (vr == DicomVR.OW)
_fragment = new DicomOtherWordFragment(tag);
else
throw new DicomDataException("Unexpected VR found for DICOM fragment sequence: {0}", vr.Code);
DicomDataset ds = _datasets.Peek();
ds.Add(_fragment);
}
开发者ID:jwake,项目名称:fo-dicom,代码行数:12,代码来源:DicomDatasetReaderObserver.cs
示例13: DicomDictionaryEntry
public DicomDictionaryEntry(DicomTag tag, string name, string keyword, DicomVM vm, bool retired,
params DicomVr[] vrs)
{
Tag = tag;
Name = string.IsNullOrWhiteSpace(name) ? tag.ToString() : name;
Keyword = string.IsNullOrWhiteSpace(keyword) ? Name : keyword;
ValueMultiplicity = vm;
ValueRepresentations = vrs;
IsRetired = retired;
}
开发者ID:kevinpig,项目名称:MyRepository,代码行数:13,代码来源:DicomDictionaryEntry.cs
示例14: ConvertAttributeToUN
public void ConvertAttributeToUN(DicomAttributeCollection theSet, uint tag)
{
ByteBuffer theData =
theSet[tag].GetByteBuffer(TransferSyntax.ImplicitVrLittleEndian,
theSet.SpecificCharacterSet);
DicomTag baseTag = DicomTagDictionary.GetDicomTag(tag);
DicomTag theTag = new DicomTag(tag,
baseTag.Name, baseTag.VariableName, DicomVr.UNvr, baseTag.MultiVR, baseTag.VMLow, baseTag.VMHigh, baseTag.Retired);
DicomAttribute unAttrib = DicomVr.UNvr.CreateDicomAttribute(theTag, theData);
theSet[tag] = unAttrib;
}
开发者ID:emmandeb,项目名称:ClearCanvas-1,代码行数:13,代码来源:AbstractTest.cs
示例15: TestIgnoreOutOfRangeTags
public void TestIgnoreOutOfRangeTags()
{
DicomFile file = new DicomFile();
DicomAttributeCollection collection = file.DataSet;
SetupMR(collection);
collection.IgnoreOutOfRangeTags = true;
DicomTag tag = new DicomTag(0x00030010, "Test", "TestBad", DicomVr.STvr, false, 1, 1, false);
Assert.IsNotNull(collection.GetAttribute(tag));
Assert.IsNotNull(collection[tag]);
try
{
DicomAttribute attrib = collection[tag.TagValue];
Assert.Fail("DicomAttributeCollection.GetAttribute failed");
}
catch (DicomException)
{
}
collection.IgnoreOutOfRangeTags = false;
try
{
collection.GetAttribute(tag);
Assert.Fail("DicomAttributeCollection.GetAttribute failed");
}
catch (DicomException)
{
}
try
{
DicomAttribute attrib = collection[tag];
Assert.Fail("DicomAttributeCollection.GetAttribute failed");
}
catch (DicomException)
{
}
try
{
DicomAttribute attrib = collection[tag.TagValue];
Assert.Fail("DicomAttributeCollection.GetAttribute failed");
}
catch (DicomException)
{
}
}
开发者ID:khaha2210,项目名称:radio,代码行数:51,代码来源:AttributeCollectionTest.cs
示例16: BeginRead_ValidExplicitVRData_YieldsSuccess
public void BeginRead_ValidExplicitVRData_YieldsSuccess(DicomTag tag, DicomVR vr, string data, byte[] bytes)
{
var stream = new MemoryStream(bytes);
var source = new StreamByteSource(stream);
var reader = new DicomReader { IsExplicitVR = true };
var observer = new LastElementObserver();
var result = reader.EndRead(reader.BeginRead(source, observer, null, null, null));
Assert.Equal(DicomReaderResult.Success, result);
Assert.Equal(tag, observer.Tag);
Assert.Equal(vr, observer.VR);
Assert.Equal(data, observer.Data);
}
开发者ID:gustavosaita,项目名称:fo-dicom,代码行数:14,代码来源:DicomReaderTest.cs
示例17: ValidateString
public static void ValidateString(DicomTag tag, string stringValue)
{
if (string.IsNullOrEmpty(stringValue))
return;
string[] temp = stringValue.Split(new[] { '\\' });
foreach (string s in temp)
{
double decVal;
if (!string.IsNullOrEmpty(s) && !double.TryParse(s, NumberStyles.Number | NumberStyles.AllowExponent, CultureInfo.InvariantCulture, out decVal))
{
throw new DicomDataException(string.Format("Invalid DS value '{0}' for {1}", stringValue, tag));
}
}
}
开发者ID:m-berkani,项目名称:ClearCanvas,代码行数:15,代码来源:StringValueValidation.cs
示例18: OnElement
public void OnElement(IByteSource source, DicomTag tag, DicomVR vr, IByteBuffer data) {
DicomElement element;
switch (vr.Code) {
case "AE": element = new DicomApplicationEntity(tag, data); break;
case "AS": element = new DicomAgeString(tag, data); break;
case "AT": element = new DicomAttributeTag(tag, data); break;
case "CS": element = new DicomCodeString(tag, data); break;
case "DA": element = new DicomDate(tag, data); break;
case "DS": element = new DicomDecimalString(tag, data); break;
case "DT": element = new DicomDateTime(tag, data); break;
case "FD": element = new DicomFloatingPointDouble(tag, data); break;
case "FL": element = new DicomFloatingPointSingle(tag, data); break;
case "IS": element = new DicomIntegerString(tag, data); break;
case "LO": element = new DicomLongString(tag, _encodings.Peek(), data); break;
case "LT": element = new DicomLongText(tag, _encodings.Peek(), data); break;
case "OB": element = new DicomOtherByte(tag, data); break;
case "OD": element = new DicomOtherDouble(tag, data); break;
case "OF": element = new DicomOtherFloat(tag, data); break;
case "OW": element = new DicomOtherWord(tag, data); break;
case "PN": element = new DicomPersonName(tag, _encodings.Peek(), data); break;
case "SH": element = new DicomShortString(tag, _encodings.Peek(), data); break;
case "SL": element = new DicomSignedLong(tag, data); break;
case "SS": element = new DicomSignedShort(tag, data); break;
case "ST": element = new DicomShortText(tag, _encodings.Peek(), data); break;
case "TM": element = new DicomTime(tag, data); break;
case "UC": element = new DicomUnlimitedCharacters(tag, _encodings.Peek(), data); break;
case "UI": element = new DicomUniqueIdentifier(tag, data); break;
case "UL": element = new DicomUnsignedLong(tag, data); break;
case "UN": element = new DicomUnknown(tag, data); break;
case "UR": element = new DicomUniversalResource(tag, _encodings.Peek(), data); break;
case "US": element = new DicomUnsignedShort(tag, data); break;
case "UT": element = new DicomUnlimitedText(tag, _encodings.Peek(), data); break;
default:
throw new DicomDataException("Unhandled VR in DICOM parser observer: {0}", vr.Code);
}
if (element.Tag == DicomTag.SpecificCharacterSet) {
Encoding encoding = _encodings.Peek();
if (element.Count > 0)
encoding = DicomEncoding.GetEncoding(element.Get<string>(0));
_encodings.Pop();
_encodings.Push(encoding);
}
DicomDataset ds = _datasets.Peek();
ds.Add(element);
}
开发者ID:dremerdt,项目名称:fo-dicom,代码行数:47,代码来源:DicomDatasetReaderObserver.cs
示例19: CreateDicomImage
/// <summary>
/// Creates an in-memory DICOM image
/// </summary>
/// <returns></returns>
internal static DicomFile CreateDicomImage(int rows = 20, int columns = 30, bool bitsAllocated16 = true, bool signed = false, int numberOfFrames = 1, Endian endian = Endian.Little, bool useOB = false)
{
var sopClassUid = bitsAllocated16 ? SopClass.MultiFrameGrayscaleWordSecondaryCaptureImageStorageUid : SopClass.MultiFrameGrayscaleByteSecondaryCaptureImageStorageUid;
var sopInstanceUid = DicomUid.GenerateUid().UID;
var dcf = new DicomFile();
dcf.MediaStorageSopClassUid = sopClassUid;
dcf.MediaStorageSopInstanceUid = sopInstanceUid;
dcf.TransferSyntax = endian == Endian.Little ? TransferSyntax.ExplicitVrLittleEndian : TransferSyntax.ExplicitVrBigEndian;
dcf.DataSet[DicomTags.PatientId].SetStringValue("TEST");
dcf.DataSet[DicomTags.PatientsName].SetStringValue("TEST");
dcf.DataSet[DicomTags.StudyInstanceUid].SetStringValue(DicomUid.GenerateUid().UID);
dcf.DataSet[DicomTags.StudyId].SetStringValue("TEST");
dcf.DataSet[DicomTags.StudyDescription].SetStringValue("TEST");
dcf.DataSet[DicomTags.SeriesInstanceUid].SetStringValue(DicomUid.GenerateUid().UID);
dcf.DataSet[DicomTags.SeriesNumber].SetInt32(0, 1);
dcf.DataSet[DicomTags.SeriesDescription].SetStringValue("TEST");
dcf.DataSet[DicomTags.SopClassUid].SetStringValue(sopClassUid);
dcf.DataSet[DicomTags.SopInstanceUid].SetStringValue(sopInstanceUid);
dcf.DataSet[DicomTags.InstanceNumber].SetInt32(0, 1);
var frameSize = rows*columns*(bitsAllocated16 ? 2 : 1);
var data = new byte[numberOfFrames*frameSize];
for (var n = 0; n < numberOfFrames; ++n)
{
var value = (byte) (0xFF & (n + 0x80));
for (var k = 0; k < frameSize; ++k)
data[n*frameSize + k] = (byte) ((value + k)%255);
}
var pixelDataTag = DicomTagDictionary.GetDicomTag(DicomTags.PixelData);
pixelDataTag = new DicomTag(pixelDataTag.TagValue, pixelDataTag.Name, pixelDataTag.VariableName, useOB ? DicomVr.OBvr : DicomVr.OWvr, pixelDataTag.MultiVR, pixelDataTag.VMLow, pixelDataTag.VMHigh, pixelDataTag.Retired);
dcf.DataSet[DicomTags.PhotometricInterpretation].SetStringValue(PhotometricInterpretation.Monochrome2.Code);
dcf.DataSet[DicomTags.SamplesPerPixel].SetInt32(0, 1);
dcf.DataSet[DicomTags.PixelRepresentation].SetInt32(0, signed ? 1 : 0);
dcf.DataSet[DicomTags.BitsAllocated].SetInt32(0, bitsAllocated16 ? 16 : 8);
dcf.DataSet[DicomTags.BitsStored].SetInt32(0, bitsAllocated16 ? 16 : 8);
dcf.DataSet[DicomTags.HighBit].SetInt32(0, bitsAllocated16 ? 15 : 7);
dcf.DataSet[DicomTags.Rows].SetInt32(0, rows);
dcf.DataSet[DicomTags.Columns].SetInt32(0, columns);
dcf.DataSet[DicomTags.NumberOfFrames].SetInt32(0, numberOfFrames);
dcf.DataSet[pixelDataTag].Values = data;
return dcf;
}
开发者ID:m-berkani,项目名称:ClearCanvas,代码行数:51,代码来源:DicomImageTestHelper.cs
示例20: addValue
private static void addValue(Dictionary<DicomTag, List<String>> tagTovalues, DicomTag tag, String value)
{
if (value == null || value.Length == 0)
{
return;
}
List<String> values;
if (!tagTovalues.TryGetValue(tag, out values))
{
values = new List<String>();
tagTovalues.Add(tag, values);
}
if (!values.Contains(value))
{
values.Add(value);
}
}
开发者ID:k11hao,项目名称:TagChecker,代码行数:19,代码来源:Program.cs
注:本文中的DicomTag类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论