Mangled header

  • I transferred some images recently using ConQuest and did a dcmdump (DCMTK package) of the files. I noticed a lot of the VR fields are replaced with ?? instead of FL, IS, UL, DS, etc. The dump defaults to reading them as characters so a lot of the code I have written no longer works. I had the same issue with Digital Jacket - certain VR types were replaced with ?? - and was hoping this was a one-off problem. The DCMTK function storescp retains the VR, which to me seems the correct behavior. Why would the server change the tags? Can I turn this behavior off? I like the ConQuest GUI and that it runs quietly in the background, but it has to leave the tags alone :cry:

  • Quote from marcelvanherk

    Hi,


    how is the data stored?


    Marcel


    It was written using DCMTK functions on the scanner. I transfer them using storecp to my computer, where dcmdump reveals the VR are present. As an example:


    (0043,100a) SS 1 # 2, 1 Unknown Tag & Data
    (0043,100b) DS [0.000000] # 8, 1 Unknown Tag & Data
    (0043,100c) DS [100.000000] # 10, 1 Unknown Tag & Data
    (0043,100d) DS [65.809998] # 10, 1 Unknown Tag & Data
    (0043,100e) DS [59.860001] # 10, 1 Unknown Tag & Data


    However if I use ConQuest, the VR are lost (see below - apologies, this is not the exact same file).


    (0043,100a) ?? 01\00 # 2, 1 Unknown Tag & Data
    (0043,100b) ?? 30\2e\30\30\30\30\30\30 # 8, 1 Unknown Tag & Data
    (0043,100c) ?? 31\30\30\2e\30\30\30\30\30\30 # 10, 1 Unknown Tag & Data
    (0043,100d) ?? 36\32\2e\38\31\30\30\30\31\20 # 10, 1 Unknown Tag & Data
    (0043,100e) ?? 36\30\2e\38\34\39\39\39\38\20 # 10, 1 Unknown Tag & Data

  • Hi spanky,


    this happens with private tags and tags, that are not in conquests 'dicom.dic'. Afaik conquest stores data with implicit VR, i.e. VR type is not stored. Only types for the known tags (see dgate.dic) can be regenerated when the object is sent with explicit VR. All the other VR are then 'UN'known.
    Dcmtk has it's own dictionary and can regenerate VR types from implicit transfer syntax or explicit 'UN'. The private tags you don't want to see binary in the output of dcmdump, you can put into dcmtk's 'private.dic'. Under Windows additionally you have to set the environment variable 'DCMDICTPATH' to something like 'C:\dcmtk-3.5.4-win32-i386\lib\private.dic' (see dcmtk help>related pages>dcmdump>environment). So when the receiving side is dcmtk and it knows all the tags you need, you are independent of the transfer syntax used.
    But be aware, that many commercial products remove private tags they don't know.


    Gerald

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!