2015-05-05 3 views
1

Я использую библиотеку clearcanvas для dicomizing ecg image.Определение элемента последовательности для ЭКГ Dicom с помощью библиотеки ClearCanvas

Мне нужно определить информацию о канале (последовательность каналов и последовательность единиц измерения чувствительности канала) для каждого канала, который я извлекаю. Как определить каждый канал в ClearCanvas?

Образец кода приведен ниже;

channelSeq[i] = new DicomSequenceItem(); 
channelSeq[i][DicomTags.ChannelBaseline].SetUInt32(0, 0); 
channelSeq[i][DicomTags.ChannelTimeSkew].SetUInt32(0, 0); 
channelSeq[i][DicomTags.ChannelSampleSkew].SetUInt32(0, 0); 
channelSeq[i][DicomTags.WaveformBitsAllocated].SetInt32(0, 16); // 16 bit 
channelSeq[i][DicomTags.ChannelSensitivityCorrectionFactor].SetUInt32(0, 1); 
channelSeq[i][DicomTags.ChannelSensitivity].SetUInt32(0, 1); 
channelSourceSeq = new DicomSequenceItem(); 
channelSourceSeq[DicomTags.CodeValue].SetStringValue(HttpContext.GetGlobalResourceObject("EcgCodes", ecgType).ToString()); 
channelSourceSeq[DicomTags.ContextIdentifier].SetStringValue("CID 3001"); 
channelSeq[i][DicomTags.ChannelSourceSequence].Values = channelSourceSeq; 
channelSensUnitSeq = new DicomSequenceItem(); 
channelSensUnitSeq[DicomTags.CodeValue].SetStringValue("uV"); // millivolt 
channelSeq[i][DicomTags.ChannelSensitivityUnitsSequence].Values = channelSensUnitSeq; 
channelSeq[i][DicomTags.WaveformChannelNumber].SetStringValue((i + 1).ToString()); 
channelSeq[i][DicomTags.ChannelLabel].SetStringValue("Channel " + (i + 1)); 
channelSeq[i][DicomTags.ChannelStatus].SetStringValue("OK"); 

Спасибо за помощь.

ответ

1

Channel Definition Sequence (003A, 0200) является SubSequence в пределах вашего Waveform Sequence (5400,1000).

Там вы можете добавить свои каналы столько, сколько вам нужно, например.

channelSeq[i][DicomTags.WaveformChannelNumber].SetStringValue("1"); 
channelSeq[i][DicomTags.ChannelLabel].SetStringValue("Channel 1"); 
channelSeq[i][DicomTags.ChannelStatus].SetStringValue("OK"); 

и добавьте свой источник и чувствительность, как показано в вашем примере.

Наконец добавить свои пункты к в Channel Definition Sequence

myWaveFormSequence[DicomTags.ChannelDefinitionSequence].AddSequenceItem(channelSeq[i]); 

Смотрите дополнительные теги, что вы можете указать для последовательности канала в http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.10.9.html

+0

мне нужно указать последовательность канального блока sensitivty ли? Кстати, это пример канала 1 или правильное значение для канала 1. –

+0

«Канал 1» был всего лишь примером. последовательность единиц чувствительности требуется только в том случае, если у вас есть «Чувствительность канала» (003A, 0210), указанная в вашей «последовательности определения канала». – JohnnyQ

+0

Для лидера (aV5) я пишу «канал aV5» или другой? –

Смежные вопросы