Architectural changes from dcm4che-1.x to dcm4che-2.x to dcm4che-3.x

43 views
Skip to first unread message

Rajesh Kumar Yuvaraj

unread,
Dec 3, 2019, 1:39:19 AM12/3/19
to dcm4che
Hi Team,
             Can some one help me in understanding the architectural changes from dcm4che-1.x to dcm4che-2.x to dcm4che-3.x. and it's essence?

technical known facts:
  • The 1.x first generation of DICOM dictionary implementation. 
  • The 2.x toolkit has undergone a re-architecting with improvement over the 1.x version in the areas of speed, memory usage, simplicity, and a more robust DICOM dictionary implementation.             
  • The 3.x is 3rd generation and is a complete rewrite of dcm4che-2.x.

    One main focus was to minimize the memory footprint of the DICOM data sets.    

  • the BasicDicomObject is history -- alongside quite a few others.

    The new "Dicom object" is Attributes -- an object is a collection of attributes.

    Therefore, you create Attributes, populate them with the tags you need for RQ-behaviour (C-FIND, etc) and what you get in return is another Attributes object from which you pull the tags you want.

    In my opinion, dcm4che 2.x was vague on the subject of dealing with individual value representations. dcm4che 3.x is quite a bit clearer.

    The migration demands a rewrite of your code regarding how you query and how you treat individual tags. On the other hand, dcm4che 3.x makes the new code less convoluted.      

the current (5.x) version has been re-architected for high performance and flexibility.    

I am looking for architectural changes.What made the authors of dcm4che to break the backward compatibility?

Thanks
Rajesh Kumar Yuvaraj

Reply all
Reply to author
Forward
0 new messages