Adding SOP Classes to DCMTK¶
To add new SOP classes to DCMTK, some source code files and the corresponding documentation has to be modified to make all tools (and users) aware of the new capabilities. In order to add support for a new SOP class, edit the following files:
- dcmdata/include/dcmtk/dcmdata/dcuid.h: Introduce UID constant to DCMTK
- dcmdata/libsrc/dcddirif.cc: Be sure that special handling of new SOP class enforced by some media application profiles is added, if necessary
- dcmdata/libsrc/dcuid.cc: Add the new SOP class to various lists, at least for a new Storage SOP Class
- dcmnet/docs/movescu.man: For Storage SOP Classes, update documentation
- dcmnet/docs/storescp.man: For Storage SOP Classes, update documentation
- dcmnet/docs/storescu.man: For Storage SOP Classes, update documentation
- dcmnet/etc/storescp.cfg: For Storage SOP Classes, add to storescp's configuration file, if desired
- dcmnet/etc/storescu.cfg: For Storage SOP Classes, add to storescu's configuration file, if desired
- dcmqrdb/docs/dcmqrscp.man: For Storage SOP Classes, update documentation
- dcmqrdb/libsrc/dcmqrdbi.cc: For Structured Reporting SOP Classes, update check on UID value
- dcmsr/libsrc/dsrtypes.cc: For Presentation State SOP Classes, add to
PresentationStateTypeNameMap
- dcmsr/libsrc/dsrimgvl.cc: For Segmentation SOP Classes, update check on UID value in
isSegmentationObject()
- dcmsr/libsrc/dsrwavvl.cc: For Waveform SOP Classes, update check on UID value in
checkSOPClassUID()
- dcmpstat/libsrc/dviface.cc: For mapping SOP Classes to DVPSInstanceType
The following files also need to be updated but this is usually done automatically by make man
:
- doxygen/manpages/man1/movescu.1: For Storage SOP Classes, update documentation
- doxygen/manpages/man1/dcmqrscp.1: For Storage SOP Classes, update documentation
- doxygen/manpages/man1/storescp.1: For Storage SOP Classes, update documentation
- doxygen/manpages/man1/storescu.1: For Storage SOP Classes, update documentation