[Insight-users] Rewriting Dicom header entries

Jean-Pierre Roux jpr at creatis.insa-lyon.fr
Tue Oct 16 12:46:27 EDT 2007


Angela Wang wrote:
> Hi Mathieu,
>
>
> On 10/16/07 2:05 AM, "Mathieu Malaterre" <mathieu.malaterre at gmail.com>
> wrote:
>
>   
>>   Correct me if I am wrong, but doesn't DICOM actually clearly specify
>> that for a derived image (*), you have to set Image Type (0008,0008)
>> to DERIVED\PRIMARY.
>>     
> That is good to know.
>  
>   
>>   The process is fairly simple, if you derive an image (ie. read a
>> DICOM) and then writes it, ITK-gdcm will actually do the correct job
>> of marking it derived and setting up the Reference SOP Instance UID
>> for you. Otherwise you need to create an image from scratch, or
>> somehow disconnect from the source. But I'd be interested what is your
>> test case.
>>     
>
> I am using a processing program that converts images from DICOM to ECAT 6.
> Then I convert the processed images from ECAT 6 back into DICOM, using
> XMedcon. During that process, all of the original header entries are pretty
> much lost, so I am using ITK to rewrite information back into the DICOM
> header entries. The (0008,0008) is filled in by one of those programs and
> has a null character termination,
Dicom norm says that a field cannot have an odd length (even length is 
mandatory)
The fields have to be padded either with blank space or with binary zero.

We thought that GDCM (used by ITK) makes the right padding (dicom3tools 
doesn't disagree with our padding)
Could you send one of your generated images,so we can check if anything 
looks wrong.
(maybe XMedcon produces images that are not 100% kosher ?)
Jean-Pierre Roux
gdcm team
>  which is not acceptable to the upload
> site. That is the long story why I am trying to re-write that particular
> entry.
>
> Thanks for your help and comments!
> Angela
>
>  
>
>
>   
>> On 10/15/07, Angela Wang <Angela.Y.Wang at hsc.utah.edu> wrote:
>>     
>>> I am trying to write two values into a DICOM header entry for my processed
>>> image file.  This one tag does not write my values. I am able, however, to
>>> change other DICOM header entries.  The tag is (0008,0008) for Image Iype
>>> and takes type CS = code string.
>>> The code looks like:
>>>
>>>       ReaderType::DictionaryArrayRawPointer dictPointer =
>>>                      reader -> GetMetaDataDictionaryArray();
>>>       ReaderType::DictionaryRawPointer dict = (*dictPointer)[i];
>>>       itk::MetaDataDictionary & dictionary= *dict;
>>>       std::string tagkey, value;
>>>       tagkey = "0008|0008";         // Image Type  vr = CS
>>>       value = "ORIGINAL\\SECONDARY";
>>>       itk::EncapsulateMetaData<std::string>(dictionary, tagkey, value);
>>>
>>> Does anyone know how to make this work?
>>> Thanks.
>>> Angela
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>>       
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>   


More information about the Insight-users mailing list