In order to build all components of the dcm4che2 toolkit you will need to download and install:
In addition, you will have to download the dcm4che2 source code from the dcm4che project at SourceForge, or get it directly from SVN:
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4che2/trunk dcm4che2
There are two pieces to building dcm4che2: building the DICOM dictionary, and building the software itself. Building the dictionary is purely optional, as the standard dictionary is included in the application already. However, if you want to customize the dictionary, or add items to it that have not yet been included in the standard yet, then knowing how to build the dictionary is a good thing.
Building dcm4che2 is relatively easy, as Maven manages the dependencies for you. Assuming that you have the Maven executable scripts on your path... Simply navigate to the root of the dcm4che2 source directory structure, and type:
mvn install assembly:assembly
or (to avoid test failure in DicomImageWriterTest in versions prior to
mvn install assembly:assembly -P nojiio
This will build distributions of the dcm4che2 toolkit. That's it! You may then find the zip distribution file in the target directory and copy/extract it to wherever you wish.
/dcm4che2/dcm4che2-core is the project that contains the base dictionary files and the build script that generates the serialized file which gets included in the distribution. The DICOM standard is contained in an OpenOffice format. These documents are parsed using the appropriate DTD, and transformed (with XSL) into XML documents. These XML documents are then used as input to another XSL process which will generate
uids.xml. The two Java files are compiled later as part of the dcm4che-core build process. The two XML files are used to generate serialized data dictionaries which are accessed at run time. These data dictionaries are
Currently the movement of the generated Java and XML files over to the
/dcm4che2/dcm4che-core directory structure is manual, as well as the generation of the serialized data dictionaries.
Within this directory, you'll see the following structure:
dcm4che2-core-dict | ----src | ----main | ----dtd | ----sxw | ----xml | ----xsl
main directory contains the content subdirectories and the Ant build script. The content subdirectories can be described as follows:
uids.xmlfiles reference these generated XML files. There also exists a
private-uids.xmlfile which contains UIDs which are mainly used by dcm4chee and other applications to initiate custom DICOM behavior.
uids.xml), and XML documents into Java classes (