[med-svn] [gdcm] 01/04: New upstream version 2.6.6

Gert Wollny gert-guest at moszumanska.debian.org
Wed Oct 12 10:24:20 UTC 2016


This is an automated email from the git hooks/post-receive script.

gert-guest pushed a commit to branch master
in repository gdcm.

commit 091c8189f83e51a73aaf9d1134e199072be74b55
Author: Gert Wollny <gw.fossdev at gmail.com>
Date:   Wed Oct 12 10:04:45 2016 +0000

    New upstream version 2.6.6
---
 .travis.yml                                        |   5 +-
 Applications/Cxx/gdcmanon.cxx                      |  11 +-
 Applications/Cxx/gdcminfo.cxx                      |   2 +-
 Applications/Cxx/gdcmpap3.cxx                      |   4 +-
 CMake/CTestCustom.ctest.in                         |   6 +
 CMakeLists.txt                                     |   3 +-
 Examples/Cxx/DumpExamCard.cxx                      |   3 +-
 Examples/Cxx/DumpImageHeaderInfo.cxx               |   2 +-
 Examples/Cxx/DumpPhilipsECHO.cxx                   |   6 +-
 Source/Common/gdcmBoxRegion.h                      |   2 +-
 Source/Common/gdcmCommand.h                        |   2 +-
 Source/Common/gdcmFileNameEvent.h                  |   2 +-
 .../gdcmOpenSSLP7CryptographicMessageSyntax.h      |   2 +-
 Source/Common/gdcmProgressEvent.h                  |   2 +-
 Source/Common/gdcmSystem.cxx                       |   7 +-
 Source/Common/gdcmTerminal.h                       |   2 +-
 Source/Common/gdcmUnpacker12Bits.h                 |   1 +
 Source/DataDictionary/gdcmCSAHeaderDictEntry.h     |   2 +-
 Source/DataDictionary/gdcmDictConverter.h          |   1 +
 Source/DataDictionary/gdcmDictEntry.h              |   2 +-
 Source/DataDictionary/gdcmPrivateDefaultDicts.cxx  |  15 +-
 Source/DataDictionary/gdcmSOPClassUIDToIOD.h       |   2 +-
 .../gdcmByteBuffer.h                               |   2 +-
 .../gdcmByteSwapFilter.h                           |   2 +-
 .../gdcmCP246ExplicitDataElement.h                 |   1 +
 .../gdcmCodeString.h                               |   2 +-
 .../gdcmDataSet.h                                  |   2 +-
 .../gdcmDataSetEvent.h                             |   2 +-
 .../DataStructureAndEncodingDefinition/gdcmFile.h  |   2 +-
 .../gdcmFileMetaInformation.cxx                    |   8 +-
 .../gdcmFileSet.h                                  |   2 +-
 .../DataStructureAndEncodingDefinition/gdcmItem.h  |   2 +-
 .../gdcmMediaStorage.cxx                           |   2 +
 .../gdcmMediaStorage.h                             |   1 +
 .../gdcmPDBHeader.h                                |   2 +-
 .../gdcmParser.h                                   |   2 +-
 .../gdcmPreamble.cxx                               |   7 +-
 .../gdcmPreamble.h                                 |  15 +-
 .../gdcmSequenceOfItems.h                          |   2 +-
 .../DataStructureAndEncodingDefinition/gdcmTag.h   |   2 +-
 .../gdcmUNExplicitImplicitDataElement.h            |   2 +-
 Source/DataStructureAndEncodingDefinition/gdcmVR.h |   2 +-
 .../gdcmWriter.h                                   |   2 +-
 .../MediaStorageAndFileFormat/gdcmAnonymizeEvent.h |   2 +-
 Source/MediaStorageAndFileFormat/gdcmAnonymizer.h  |   2 +-
 .../gdcmApplicationEntity.h                        |   1 +
 Source/MediaStorageAndFileFormat/gdcmBitmap.h      |   2 +-
 .../gdcmBitmapToBitmapFilter.h                     |   2 +-
 Source/MediaStorageAndFileFormat/gdcmCurve.h       |   1 +
 Source/MediaStorageAndFileFormat/gdcmDICOMDIR.h    |   2 +-
 .../gdcmDICOMDIRGenerator.h                        |   2 +-
 .../gdcmDirectoryHelper.h                          |   2 +-
 Source/MediaStorageAndFileFormat/gdcmDumper.h      |   1 +
 .../MediaStorageAndFileFormat/gdcmFileAnonymizer.h |   2 +-
 .../gdcmFileChangeTransferSyntax.h                 |   2 +-
 .../gdcmFileDecompressLookupTable.h                |   2 +-
 .../MediaStorageAndFileFormat/gdcmFileDerivation.h |   2 +-
 .../gdcmFileExplicitFilter.h                       |   2 +-
 .../MediaStorageAndFileFormat/gdcmFileStreamer.h   |   2 +-
 Source/MediaStorageAndFileFormat/gdcmIPPSorter.cxx |   6 +-
 Source/MediaStorageAndFileFormat/gdcmIPPSorter.h   |   4 +-
 .../gdcmIconImageFilter.h                          |   2 +-
 .../gdcmIconImageGenerator.h                       |   2 +-
 Source/MediaStorageAndFileFormat/gdcmImage.h       |   2 +-
 .../gdcmImageApplyLookupTable.h                    |   2 +-
 .../gdcmImageChangePhotometricInterpretation.h     |   2 +-
 .../gdcmImageChangePlanarConfiguration.h           |   2 +-
 .../gdcmImageChangeTransferSyntax.h                |   2 +-
 .../MediaStorageAndFileFormat/gdcmImageCodec.cxx   |   5 +-
 .../gdcmImageFragmentSplitter.h                    |   2 +-
 .../MediaStorageAndFileFormat/gdcmImageHelper.cxx  |  19 +-
 .../gdcmImageRegionReader.h                        |   4 +-
 .../gdcmImageToImageFilter.h                       |   2 +-
 .../gdcmJPEG2000Codec.cxx                          |  93 +-
 Source/MediaStorageAndFileFormat/gdcmJPEGCodec.h   |   2 +-
 Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.h |   2 +-
 .../gdcmMeshPrimitive.cxx                          |   3 +-
 .../MediaStorageAndFileFormat/gdcmMeshPrimitive.h  |   2 +-
 Source/MediaStorageAndFileFormat/gdcmOverlay.cxx   |   2 +-
 Source/MediaStorageAndFileFormat/gdcmPGXCodec.h    |   2 +-
 Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx  |   6 +-
 Source/MediaStorageAndFileFormat/gdcmPNMCodec.h    |   2 +-
 Source/MediaStorageAndFileFormat/gdcmPVRGCodec.h   |   1 +
 Source/MediaStorageAndFileFormat/gdcmPixelFormat.h |   2 +-
 Source/MediaStorageAndFileFormat/gdcmPixmap.h      |   2 +-
 .../MediaStorageAndFileFormat/gdcmPixmapReader.h   |   1 +
 .../gdcmPixmapToPixmapFilter.h                     |   2 +-
 .../MediaStorageAndFileFormat/gdcmPixmapWriter.h   |   2 +-
 Source/MediaStorageAndFileFormat/gdcmRLECodec.cxx  |   8 +-
 Source/MediaStorageAndFileFormat/gdcmRescaler.h    |   2 +-
 Source/MediaStorageAndFileFormat/gdcmScanner.h     |   2 +-
 Source/MediaStorageAndFileFormat/gdcmSegment.cxx   |   3 +-
 Source/MediaStorageAndFileFormat/gdcmSegment.h     |   2 +-
 .../MediaStorageAndFileFormat/gdcmSegmentReader.h  |   2 +-
 .../MediaStorageAndFileFormat/gdcmSegmentWriter.h  |   2 +-
 .../gdcmSimpleSubjectWatcher.h                     |   2 +-
 Source/MediaStorageAndFileFormat/gdcmSorter.h      |   2 +-
 Source/MediaStorageAndFileFormat/gdcmSpacing.h     |   2 +-
 .../gdcmSplitMosaicFilter.h                        |   2 +-
 .../MediaStorageAndFileFormat/gdcmStrictScanner.h  |   2 +-
 .../MediaStorageAndFileFormat/gdcmStringFilter.h   |   2 +-
 Source/MediaStorageAndFileFormat/gdcmSurface.cxx   |   6 +-
 Source/MediaStorageAndFileFormat/gdcmSurface.h     |   2 +-
 .../MediaStorageAndFileFormat/gdcmSurfaceHelper.h  |   2 +-
 .../MediaStorageAndFileFormat/gdcmSurfaceReader.h  |   2 +-
 .../MediaStorageAndFileFormat/gdcmSurfaceWriter.h  |   2 +-
 Source/MediaStorageAndFileFormat/gdcmTagPath.h     |   2 +-
 .../MediaStorageAndFileFormat/gdcmUIDGenerator.cxx |   2 +
 .../MediaStorageAndFileFormat/gdcmUIDGenerator.h   |   1 +
 .../MediaStorageAndFileFormat/gdcmUUIDGenerator.h  |   2 +-
 Source/MessageExchangeDefinition/gdcmAAbortPDU.h   |   2 +-
 .../gdcmAAssociateACPDU.cxx                        |   4 +-
 .../gdcmAAssociateACPDU.h                          |   2 +-
 .../gdcmAAssociateRJPDU.h                          |   2 +-
 .../gdcmAAssociateRQPDU.cxx                        |   4 +-
 .../gdcmAAssociateRQPDU.h                          |   2 +-
 Source/MessageExchangeDefinition/gdcmARTIMTimer.h  |   2 +-
 .../MessageExchangeDefinition/gdcmAReleaseRPPDU.h  |   2 +-
 .../MessageExchangeDefinition/gdcmAReleaseRQPDU.h  |   2 +-
 .../MessageExchangeDefinition/gdcmAbstractSyntax.h |   2 +-
 .../gdcmApplicationContext.h                       |   2 +-
 .../gdcmAsynchronousOperationsWindowSub.h          |   2 +-
 .../gdcmBaseCompositeMessage.h                     |   2 +-
 .../gdcmBaseNormalizedMessage.h                    |   2 +-
 Source/MessageExchangeDefinition/gdcmBasePDU.h     |   2 +-
 Source/MessageExchangeDefinition/gdcmBaseQuery.h   |   2 +-
 .../MessageExchangeDefinition/gdcmBaseRootQuery.h  |   2 +-
 .../MessageExchangeDefinition/gdcmCEchoMessages.h  |   2 +-
 .../MessageExchangeDefinition/gdcmCFindMessages.h  |   2 +-
 .../MessageExchangeDefinition/gdcmCMoveMessages.h  |   2 +-
 .../MessageExchangeDefinition/gdcmCStoreMessages.h |   2 +-
 .../gdcmCompositeMessageFactory.h                  |   2 +-
 .../gdcmCompositeNetworkFunctions.cxx              |  24 +-
 .../gdcmCompositeNetworkFunctions.h                |   2 +-
 Source/MessageExchangeDefinition/gdcmDIMSE.h       |   2 +-
 .../gdcmFindPatientRootQuery.h                     |   2 +-
 .../gdcmFindStudyRootQuery.h                       |   2 +-
 .../gdcmImplementationClassUIDSub.h                |   2 +-
 .../gdcmImplementationUIDSub.h                     |   2 +-
 .../gdcmImplementationVersionNameSub.h             |   2 +-
 .../gdcmMaximumLengthSub.h                         |   2 +-
 ...gdcmModalityPerformedProcedureStepCreateQuery.h |   2 +-
 .../gdcmModalityPerformedProcedureStepSetQuery.h   |   2 +-
 .../gdcmMovePatientRootQuery.cxx                   |  11 +-
 .../gdcmMovePatientRootQuery.h                     |   2 +-
 .../gdcmMoveStudyRootQuery.h                       |   2 +-
 .../gdcmNActionMessages.h                          |   2 +-
 .../gdcmNCreateMessages.h                          |   2 +-
 .../gdcmNDeleteMessages.h                          |   2 +-
 .../gdcmNEventReportMessages.h                     |   2 +-
 .../MessageExchangeDefinition/gdcmNGetMessages.h   |   2 +-
 .../MessageExchangeDefinition/gdcmNSetMessages.h   |   2 +-
 .../gdcmNormalizedNetworkFunctions.h               |   2 +-
 Source/MessageExchangeDefinition/gdcmPDUFactory.h  |   2 +-
 Source/MessageExchangeDefinition/gdcmPDataTFPDU.h  |   2 +-
 .../gdcmPresentationContextAC.h                    |   2 +-
 .../gdcmPresentationContextGenerator.h             |   2 +-
 .../gdcmPresentationContextRQ.h                    |   2 +-
 .../gdcmPresentationDataValue.h                    |   2 +-
 Source/MessageExchangeDefinition/gdcmQueryBase.h   |   2 +-
 .../MessageExchangeDefinition/gdcmQueryFactory.h   |   2 +-
 Source/MessageExchangeDefinition/gdcmQueryImage.h  |   2 +-
 .../MessageExchangeDefinition/gdcmQueryPatient.h   |   2 +-
 Source/MessageExchangeDefinition/gdcmQuerySeries.h |   2 +-
 Source/MessageExchangeDefinition/gdcmQueryStudy.h  |   2 +-
 .../gdcmRoleSelectionSub.h                         |   2 +-
 .../gdcmSOPClassExtendedNegociationSub.h           |   2 +-
 .../gdcmServiceClassApplicationInformation.h       |   2 +-
 .../gdcmTransferSyntaxSub.h                        |   2 +-
 Source/MessageExchangeDefinition/gdcmULAction.h    |   2 +-
 .../MessageExchangeDefinition/gdcmULActionDT.cxx   |  93 +-
 .../gdcmULBasicCallback.h                          |   2 +-
 .../MessageExchangeDefinition/gdcmULConnection.h   |   2 +-
 .../gdcmULConnectionInfo.h                         |   2 +-
 .../gdcmULConnectionManager.cxx                    |   4 +-
 .../gdcmULConnectionManager.h                      |   2 +-
 Source/MessageExchangeDefinition/gdcmULEvent.h     |   2 +-
 .../gdcmULWritingCallback.h                        |   2 +-
 .../gdcmUserInformation.h                          |   2 +-
 .../MessageExchangeDefinition/gdcmWLMFindQuery.h   |   2 +-
 .../Common/Cxx/TestCryptographicMessageSyntax.cxx  |   2 +-
 Testing/Source/Common/Cxx/TestSystem2.cxx          |   6 +-
 Testing/Source/Data/CMakeLists.txt                 |   9 +
 .../Cxx/CMakeLists.txt                             |   2 +-
 .../Cxx/TestItem.cxx                               |   2 +-
 .../Cxx/TestReader3.cxx                            |   4 +-
 .../MediaStorageAndFileFormat/Cxx/CMakeLists.txt   |   8 +-
 .../Cxx/TestFileAnonymizer3.cxx                    |   2 +-
 .../Cxx/TestFileAnonymizer4.cxx                    |   6 +-
 .../Cxx/TestStrictScanner1.cxx                     |   3 +
 .../Cxx/TestStrictScanner2.cxx                     |   3 +-
 .../Cxx/TestUIDGenerator.cxx                       |   5 +
 Utilities/doxygen/CMakeLists.txt                   |   7 +-
 Utilities/doxygen/man/gdcm2pnm.xml                 |   3 +-
 Utilities/doxygen/man/gdcm2vtk.xml                 |   3 +-
 Utilities/doxygen/man/gdcmanon.xml                 |   3 +-
 Utilities/doxygen/man/gdcmconv.xml                 |   3 +-
 Utilities/doxygen/man/gdcmdiff.xml                 |   3 +-
 Utilities/doxygen/man/gdcmdump.xml                 |   3 +-
 Utilities/doxygen/man/gdcmgendir.xml               |   3 +-
 Utilities/doxygen/man/gdcmimg.xml                  |   3 +-
 Utilities/doxygen/man/gdcminfo.xml                 |   3 +-
 Utilities/doxygen/man/gdcmpap3.xml                 |   3 +-
 Utilities/doxygen/man/gdcmpdf.xml                  |   3 +-
 Utilities/doxygen/man/gdcmraw.xml                  |   3 +-
 Utilities/doxygen/man/gdcmscanner.xml              |   3 +-
 Utilities/doxygen/man/gdcmscu.xml                  |   3 +-
 Utilities/doxygen/man/gdcmtar.xml                  |   3 +-
 Utilities/doxygen/man/gdcmviewer.xml               |   3 +-
 Utilities/doxygen/man/gdcmxml.xml                  |   3 +-
 Utilities/doxygen/version.txt.in                   |   1 +
 Utilities/gdcmrle/io.cxx                           |   4 +-
 Utilities/gdcmrle/rle.cxx                          |  16 +-
 Wrapping/Python/docstrings.i                       | 935 +++++++++++++--------
 214 files changed, 1053 insertions(+), 692 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 4c155a3..8a8aa64 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,6 +24,7 @@ matrix:
       env:
         - CFLAGS="-g -O2"
         - CXXFLAGS="-g -O2"
+        - CMAKE_EXTRA="-DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF"
         - B_NAME=default
         - CPACK_NAME=Linux
     - compiler: gcc
@@ -32,7 +33,7 @@ matrix:
       env:
         - CFLAGS="-Wall -Wextra -m64"
         - CXXFLAGS="-Wall -Wextra -m64"
-        - CMAKE_EXTRA="-DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON -DGDCM_WRAP_PYTHON:BOOL=ON -DGDCM_WRAP_CSHARP:BOOL=ON -DGDCM_WRAP_JAVA:BOOL=ON -DGDCM_WRAP_PHP:BOOL=OFF -DGDCM_USE_SYSTEM_EXPAT:BOOL=ON -DGDCM_USE_SYSTEM_JSON:BOOL=OFF -DGDCM_USE_SYSTEM_LIBXML2:BOOL=ON -DGDCM_USE_SYSTEM_OPENJPEG:BOOL=ON -DGDCM_USE_SYSTEM_POPPLER:BOOL=ON -DGDCM_USE_SYSTEM_UUID:BOOL=ON -DGDCM_USE_SYSTEM_ZLIB:BOOL=ON -DGDCM_WEAK_SWIG_CHECK:BOOL=ON -DGDCM_LEGACY_SILENT:BOOL=ON"
+        - CMAKE_EXTRA="-DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON -DGDCM_WRAP_PYTHON:BOOL=ON -DGDCM_WRAP_CSHARP:BOOL=ON -DGDCM_WRAP_JAVA:BOOL=ON -DGDCM_WRAP_PHP:BOOL=OFF -DGDCM_USE_SYSTEM_EXPAT:BOOL=ON -DGDCM_USE_SYSTEM_JSON:BOOL=OFF -DGDCM_USE_SYSTEM_LIBXML2:BOOL=ON -DGDCM_USE_SYSTEM_OPENJPEG:BOOL=ON -DGDCM_USE_SYSTEM_POPPLER:BOOL=ON -DGDCM_USE_SYSTEM_UUID:BOOL=ON -DGDCM_USE_SYSTEM_ZLIB:BOOL=ON -DGDCM_WEAK_SWIG_CHECK:BOOL=ON -DGDCM_LEGACY_SILENT:BOOL=ON -DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF"
         - B_NAME=system
         - CPACK_NAME=Linux
     - compiler: clang
@@ -40,6 +41,7 @@ matrix:
       env:
         - CFLAGS="-g -O0 -Wall -Wextra -m64 -fsanitize=address,undefined,shift"
         - CXXFLAGS="-g -O0 -Wall -Wextra -m64 -fsanitize=address,undefined,shift"
+        - CMAKE_EXTRA="-DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF"
         - B_NAME=fsanitize
         - CPACK_NAME=Linux
     - compiler: clang
@@ -47,6 +49,7 @@ matrix:
       env:
         - CFLAGS="-Wall -Wextra" # -m64 -fsanitize=address,undefined
         - CXXFLAGS="-Wall -Wextra" # -m64 -fsanitize=address,undefined
+        - CMAKE_EXTRA="-DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF"
         - B_NAME=default
         - CPACK_NAME=Darwin
 
diff --git a/Applications/Cxx/gdcmanon.cxx b/Applications/Cxx/gdcmanon.cxx
index afdbaef..8972d3c 100644
--- a/Applications/Cxx/gdcmanon.cxx
+++ b/Applications/Cxx/gdcmanon.cxx
@@ -773,20 +773,22 @@ int main(int argc, char *argv[])
     }
 
   // Get private key/certificate
-  std::auto_ptr<gdcm::CryptographicMessageSyntax> cms_ptr;
+  gdcm::CryptographicMessageSyntax *cms_ptr = NULL;
   if( crypto_factory )
     {
-    cms_ptr = std::auto_ptr<gdcm::CryptographicMessageSyntax>(crypto_factory->CreateCMSProvider());
+    cms_ptr = crypto_factory->CreateCMSProvider();
     }
   if( !dumb_mode )
     {
     if( !GetRSAKeys(*cms_ptr, rsa_path.c_str(), cert_path.c_str() ) )
       {
+      delete cms_ptr;
       return 1;
       }
     if (!password.empty() && !cms_ptr->SetPassword(password.c_str(), password.length()) )
       {
       std::cerr << "Could not set the password " << std::endl;
+      delete cms_ptr;
       return 1;
       }
     cms_ptr->SetCipherType( ciphertype );
@@ -796,7 +798,7 @@ int main(int argc, char *argv[])
   gdcm::Anonymizer anon;
   if( !dumb_mode )
     {
-    anon.SetCryptographicMessageSyntax( cms_ptr.get() );
+    anon.SetCryptographicMessageSyntax( cms_ptr );
     }
 
   if( dumb_mode )
@@ -808,6 +810,7 @@ int main(int argc, char *argv[])
       if( !AnonymizeOneFileDumb(anon, in, out, empty_tags, remove_tags, replace_tags_value, (continuemode > 0 ? true: false)) )
         {
         //std::cerr << "Could not anonymize: " << in << std::endl;
+        delete cms_ptr;
         return 1;
         }
       }
@@ -821,9 +824,11 @@ int main(int argc, char *argv[])
       if( !AnonymizeOneFile(anon, in, out, (continuemode > 0 ? true: false)) )
         {
         //std::cerr << "Could not anonymize: " << in << std::endl;
+        delete cms_ptr;
         return 1;
         }
       }
     }
+  delete cms_ptr;
   return 0;
 }
diff --git a/Applications/Cxx/gdcminfo.cxx b/Applications/Cxx/gdcminfo.cxx
index 6e2b50d..be862f3 100644
--- a/Applications/Cxx/gdcminfo.cxx
+++ b/Applications/Cxx/gdcminfo.cxx
@@ -109,7 +109,7 @@ static int checkdeflated(const char *name)
     return 1;
     }
   buf = (unsigned char*)malloc(size);
-  if (buf != NULL && (size1 = fread(buf, 1, size, in)) != size) {
+  if (buf != NULL && (size1 = (unsigned long)fread(buf, 1, size, in)) != size) {
     free(buf);
     buf = NULL;
     fprintf( stderr, "could not fread: %lu bytes != %lu\n", size, size1 );
diff --git a/Applications/Cxx/gdcmpap3.cxx b/Applications/Cxx/gdcmpap3.cxx
index 00831aa..49084dc 100644
--- a/Applications/Cxx/gdcmpap3.cxx
+++ b/Applications/Cxx/gdcmpap3.cxx
@@ -437,7 +437,7 @@ int main(int argc, char *argv[])
         gdcm::DataSet & nested = it.GetNestedDataSet();
         gdcm::File f;
         f.SetDataSet( nested );
-        if( !DecompressPapyrus3( pap3handle, i, ts, f ) )
+        if( !DecompressPapyrus3( pap3handle, (int)i, ts, f ) )
           {
           std::cerr << "Could not decompress frame #" << i << " from file: " << filename << std::endl;
           return 1;
@@ -515,7 +515,7 @@ int main(int argc, char *argv[])
 
       if( decomp_pap3 )
         {
-        if( !DecompressPapyrus3( pap3handle, i, ts, w.GetFile() ) )
+        if( !DecompressPapyrus3( pap3handle, (int)i, ts, w.GetFile() ) )
           {
           std::cerr << "Could not decompress frame #" << i << " from file: " << filename << std::endl;
           return 1;
diff --git a/CMake/CTestCustom.ctest.in b/CMake/CTestCustom.ctest.in
index 67db969..1f06319 100644
--- a/CMake/CTestCustom.ctest.in
+++ b/CMake/CTestCustom.ctest.in
@@ -28,6 +28,12 @@ SET(CTEST_CUSTOM_WARNING_EXCEPTION
   "/usr/bin/ld: warning: libavutil.so.49" # needed by .*libvtkIO.so, may conflict with libavutil.so.51
   "/usr/bin/ld: warning: libswscale.so.0" # needed by .*libvtkIO.so, may conflict with libswscale.so.2
   "CUSTOMBUILD : warning CS1668: Invalid search path" # appveyor ?
+  "Returning a pointer or reference in a director method is not recommended."
+  "Covariant return types not supported in Java."
+  "Covariant return types not supported in C#."
+  "Nested struct not currently supported"
+  "bootstrap class path not set in conjunction with"
+  "warning CS1699"
   )
 
 # Disable dynamic analysis on some tests:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fcd2649..db5ba55 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,7 +32,7 @@ set(GDCM_PACKAGE_CONTACT "GDCM Developers <gdcm-developers at lists.sourceforge.net
 #----------------------------------------------------------------------------
 set(GDCM_MAJOR_VERSION 2)
 set(GDCM_MINOR_VERSION 6)
-set(GDCM_BUILD_VERSION 5)
+set(GDCM_BUILD_VERSION 6)
 set(GDCM_VERSION
   "${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
 # let advanced user the option to define GDCM_API_VERSION:
@@ -518,6 +518,7 @@ if(GDCM_STANDALONE)
   option(GDCM_WRAP_PHP "build php wrapping" OFF)
   option(GDCM_WRAP_JAVA "build java wrapping" OFF)
   option(GDCM_WRAP_CSHARP "build csharp wrapping" OFF)
+  mark_as_advanced(GDCM_WRAP_PHP)
   mark_as_advanced(GDCM_WRAP_PERL)
   mark_as_advanced(GDCM_USE_RLE)
   mark_as_advanced(GDCM_USE_ACTIVIZ)
diff --git a/Examples/Cxx/DumpExamCard.cxx b/Examples/Cxx/DumpExamCard.cxx
index 115d0f2..16fe1c3 100644
--- a/Examples/Cxx/DumpExamCard.cxx
+++ b/Examples/Cxx/DumpExamCard.cxx
@@ -381,7 +381,8 @@ Wotsit ?
         }
 
       std::string fn = gdcm::LOComp::Trim( s0.c_str() ); // remove trailing space
-      assert( isvalidpdfstring( fn.c_str() ) );
+      bool b1 = isvalidpdfstring( fn.c_str() );
+      assert( b1 ); (void)b1;
       fn += ".csv";
       //fn += ".xml";
       std::ofstream csv( fn.c_str() );
diff --git a/Examples/Cxx/DumpImageHeaderInfo.cxx b/Examples/Cxx/DumpImageHeaderInfo.cxx
index 9ff4e0d..7b56ec4 100644
--- a/Examples/Cxx/DumpImageHeaderInfo.cxx
+++ b/Examples/Cxx/DumpImageHeaderInfo.cxx
@@ -46,7 +46,7 @@ std::istream & element::read( std::istream & is )
     return is;
     }
   //os << magic << std::endl;
-  assert( magic == ref );
+  assert( magic == ref ); (void)ref;
 
   uint32_t l;
   is.read( (char*)&l, sizeof(l) );
diff --git a/Examples/Cxx/DumpPhilipsECHO.cxx b/Examples/Cxx/DumpPhilipsECHO.cxx
index f938a26..760bfdd 100644
--- a/Examples/Cxx/DumpPhilipsECHO.cxx
+++ b/Examples/Cxx/DumpPhilipsECHO.cxx
@@ -134,9 +134,9 @@ static bool ProcessDeflate( const char *outfilename, const int nslices, const
     const Bytef *source = (Bytef*)buf + offsets[r] + 16;
     uLong sourceLen;
     if( r + 1 == nframes )
-      sourceLen = totalsize - offsets[r] - 16;
+      sourceLen = (uLong)totalsize - (uLong)offsets[r] - 16;
     else
-      sourceLen = offsets[r+1] - offsets[r] - 16;
+      sourceLen = (uLong)offsets[r+1] - (uLong)offsets[r] - 16;
     // FIXME: in-memory decompression:
     int ret = uncompress (dest, &destLen, source, sourceLen);
     assert( ret == Z_OK ); (void)ret;
@@ -180,7 +180,7 @@ static bool ProcessNone( const char *outfilename, const int nslices, const
     }
 
   std::istringstream is;
-  is.str( std::string( buf, len ) );
+  is.str( std::string( buf, (size_t)len ) );
 
   std::streampos totalsize;
   is.read( (char*)&totalsize, sizeof( totalsize ));
diff --git a/Source/Common/gdcmBoxRegion.h b/Source/Common/gdcmBoxRegion.h
index 061daa2..9b9ede4 100644
--- a/Source/Common/gdcmBoxRegion.h
+++ b/Source/Common/gdcmBoxRegion.h
@@ -21,7 +21,7 @@ namespace gdcm
 class BoxRegionInternals;
 /**
  * \brief Class for manipulation box region
- * This is a very simple implementation of the Region class.
+ * \details This is a very simple implementation of the Region class.
  * It only support 3D box type region.
  * It assumes the 3D Box does not have a tilt
  * Origin is as (0,0,0)
diff --git a/Source/Common/gdcmCommand.h b/Source/Common/gdcmCommand.h
index 2f7b638..4badf15 100644
--- a/Source/Common/gdcmCommand.h
+++ b/Source/Common/gdcmCommand.h
@@ -174,7 +174,7 @@ public:
 protected:
   T* m_This;
   TMemberFunctionPointer m_MemberFunction;
-  SimpleMemberCommand():m_MemberFunction(0) {}
+  SimpleMemberCommand():m_This(0),m_MemberFunction(0) {}
   virtual ~SimpleMemberCommand() {}
 
 private:
diff --git a/Source/Common/gdcmFileNameEvent.h b/Source/Common/gdcmFileNameEvent.h
index 01b45b0..01ddfa5 100644
--- a/Source/Common/gdcmFileNameEvent.h
+++ b/Source/Common/gdcmFileNameEvent.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
  * \brief FileNameEvent
- * Special type of event triggered during processing of FileSet
+ * \details Special type of event triggered during processing of FileSet
  *
  * \see AnyEvent
  */
diff --git a/Source/Common/gdcmOpenSSLP7CryptographicMessageSyntax.h b/Source/Common/gdcmOpenSSLP7CryptographicMessageSyntax.h
index 2cb1192..0aaeda5 100644
--- a/Source/Common/gdcmOpenSSLP7CryptographicMessageSyntax.h
+++ b/Source/Common/gdcmOpenSSLP7CryptographicMessageSyntax.h
@@ -24,7 +24,7 @@ class CryptographicMessageSyntaxInternals;
 
 /**
  * \brief
- * Class for CryptographicMessageSyntax encryption. This is just a simple
+ * \details Class for CryptographicMessageSyntax encryption. This is just a simple
  * wrapper around openssl PKCS7_encrypt functionalities
  *
  * See online documentation
diff --git a/Source/Common/gdcmProgressEvent.h b/Source/Common/gdcmProgressEvent.h
index ce8cf88..cc8f6e9 100644
--- a/Source/Common/gdcmProgressEvent.h
+++ b/Source/Common/gdcmProgressEvent.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
  * \brief ProgressEvent
- * Special type of event triggered during
+ * \details Special type of event triggered during
  *
  * \see AnyEvent
  */
diff --git a/Source/Common/gdcmSystem.cxx b/Source/Common/gdcmSystem.cxx
index e608b57..8a2f7e3 100644
--- a/Source/Common/gdcmSystem.cxx
+++ b/Source/Common/gdcmSystem.cxx
@@ -153,12 +153,14 @@ bool System::MakeDirectory(const char *path)
     pos = 0;
     }
   std::string topdir;
-  while((pos = dir.find('/', pos)) != std::string::npos)
+  bool ok = true;
+  while(ok && (pos = dir.find('/', pos)) != std::string::npos)
     {
     topdir = dir.substr(0, pos);
-    Mkdir(topdir.c_str());
+    ok = ok && Mkdir(topdir.c_str());
     pos++;
     }
+  if( !ok ) return false;
   if(dir[dir.size()-1] == '/')
     {
     topdir = dir.substr(0, dir.size());
@@ -675,6 +677,7 @@ bool System::ParseDateTime(time_t &timep, long &milliseconds, const char date[22
     case 3: hour = 0;
     case 4: min = 0;
     case 5: sec = 0;
+      break; // http://security.coverity.com/blog/2013/Sep/gimme-a-break.html
       }
     ptm.tm_year = year - 1900;
     if( mon < 1 || mon > 12 ) return false;
diff --git a/Source/Common/gdcmTerminal.h b/Source/Common/gdcmTerminal.h
index 51794e6..fa62743 100644
--- a/Source/Common/gdcmTerminal.h
+++ b/Source/Common/gdcmTerminal.h
@@ -21,7 +21,7 @@ namespace gdcm
 {
 /**
  * \brief Class for Terminal
- * Allow one to print in color in a shell
+ * \details Allow one to print in color in a shell
  * - support VT100 compatible shell
  * - win32 console
  */
diff --git a/Source/Common/gdcmUnpacker12Bits.h b/Source/Common/gdcmUnpacker12Bits.h
index 38654d0..c2419c1 100644
--- a/Source/Common/gdcmUnpacker12Bits.h
+++ b/Source/Common/gdcmUnpacker12Bits.h
@@ -20,6 +20,7 @@ namespace gdcm
 {
 /**
  * \brief Pack/Unpack 12 bits pixel into 16bits
+ * \details 
  * \li You can only pack an even number of 16bits, which means a multiple of 4 (expressed in bytes)
  * \li You can only unpack a multiple of 3 bytes
  *
diff --git a/Source/DataDictionary/gdcmCSAHeaderDictEntry.h b/Source/DataDictionary/gdcmCSAHeaderDictEntry.h
index f01396c..dc6b982 100644
--- a/Source/DataDictionary/gdcmCSAHeaderDictEntry.h
+++ b/Source/DataDictionary/gdcmCSAHeaderDictEntry.h
@@ -27,7 +27,7 @@ namespace gdcm
 {
 /**
  * \brief Class to represent an Entry in the Dict
- * Does not really exist within the DICOM definition, just a way to minimize
+ * \details Does not really exist within the DICOM definition, just a way to minimize
  * storage and have a mapping from gdcm::Tag to the needed information
  * \note bla
  * TODO FIXME: Need a PublicCSAHeaderDictEntry...indeed CSAHeaderDictEntry has a notion of retired which
diff --git a/Source/DataDictionary/gdcmDictConverter.h b/Source/DataDictionary/gdcmDictConverter.h
index 7ca1552..91b4689 100644
--- a/Source/DataDictionary/gdcmDictConverter.h
+++ b/Source/DataDictionary/gdcmDictConverter.h
@@ -27,6 +27,7 @@ namespace gdcm
 class DictConverterInternal;
 /**
  * \brief Class to convert a .dic file into something else:
+ * \details 
  *  - CXX code : embeded dict into shared lib (DICT_DEFAULT)
  *  - Debug mode (DICT_DEBUG)
  *  - XML dict (DICT_XML)
diff --git a/Source/DataDictionary/gdcmDictEntry.h b/Source/DataDictionary/gdcmDictEntry.h
index c184632..ad6e170 100644
--- a/Source/DataDictionary/gdcmDictEntry.h
+++ b/Source/DataDictionary/gdcmDictEntry.h
@@ -25,7 +25,7 @@ namespace gdcm
 {
 /**
  * \brief Class to represent an Entry in the Dict
- * Does not really exist within the DICOM definition, just a way to minimize
+ * \details Does not really exist within the DICOM definition, just a way to minimize
  * storage and have a mapping from gdcm::Tag to the needed information
  * \note bla
  * TODO FIXME: Need a PublicDictEntry...indeed DictEntry has a notion of retired which
diff --git a/Source/DataDictionary/gdcmPrivateDefaultDicts.cxx b/Source/DataDictionary/gdcmPrivateDefaultDicts.cxx
index 102a6ae..86f8fb9 100644
--- a/Source/DataDictionary/gdcmPrivateDefaultDicts.cxx
+++ b/Source/DataDictionary/gdcmPrivateDefaultDicts.cxx
@@ -37,6 +37,11 @@ typedef struct
 } DICT_ENTRY;
 
 static const DICT_ENTRY DICOMV3DataDict [] = {
+  {0x0075,0x0000,"LLTech, Light-CT Viewer group",VR::CS,VM::VM1,"Enable MPR",false },
+  {0x0075,0x0001,"LLTech, Light-CT Viewer group",VR::LO,VM::VM1,"Imaged surface",false },
+  {0x0075,0x0002,"LLTech, Light-CT Viewer group",VR::LO,VM::VM1,"Imaged depth",false },
+  {0x0075,0x0003,"LLTech, Light-CT Viewer group",VR::LO,VM::VM1,"Sample description",false },
+  {0x0075,0x0004,"LLTech, Light-CT Viewer group",VR::SH,VM::VM1,"Number of accumulations",false }, // UL ?
   {0x0857,0x0000,"Nautilus Medical",VR::LO,VM::VM1,"?",false },
   {0x0857,0x0001,"Nautilus Medical",VR::LO,VM::VM1,"?Source Application Entity Title?",false },
   {0x0857,0x0002,"Nautilus Medical",VR::LO,VM::VM1,"?",false },
@@ -4464,11 +4469,11 @@ static const DICT_ENTRY DICOMV3DataDict [] = {
   {0x0009,0x0011,"MeVis eD: Geometry Information",VR::UN,VM::VM1,"GeoScannerOrigin",false },
   {0x0009,0x0021,"MeVis eD: Geometry Information",VR::UN,VM::VM1,"SlicesID",false },
   {0x0009,0x0010,"MeVis eD: Slice Information",VR::UN,VM::VM1,"SlicesSOPInstanceUID",false },
-  {0x0009,0x0010,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"TPDateTime",false },
-  {0x0009,0x0011,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"TPDateTimeType",false },
-  {0x0009,0x0012,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"TPSeriesDescription",false },
-  {0x0009,0x0013,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"TPGradientDirections",false },
-  {0x0009,0x0021,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"GeometryID",false },
+  {0x0021,0x0010,"MeVis eD: Timepoint Information",VR::LT,VM::VM1,"TPDateTime",false },
+  {0x0021,0x0011,"MeVis eD: Timepoint Information",VR::CS,VM::VM1,"TPDateTimeType",false },
+  {0x0021,0x0012,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"TPSeriesDescription",false },
+  {0x0021,0x0013,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"TPGradientDirections",false },
+  {0x0021,0x0021,"MeVis eD: Timepoint Information",VR::UN,VM::VM1,"GeometryID",false },
   {0x0009,0x0010,"MeVis eatDicom",VR::UN,VM::VM1,"EatDicomVersion",false },
   {0x0009,0x0011,"MeVis eatDicom",VR::UN,VM::VM1,"EatDicomOptions",false },
   {0x0009,0x0021,"MeVis eatDicom",VR::UN,VM::VM1,"TimepointsID",false },
diff --git a/Source/DataDictionary/gdcmSOPClassUIDToIOD.h b/Source/DataDictionary/gdcmSOPClassUIDToIOD.h
index 173167f..be76c8d 100644
--- a/Source/DataDictionary/gdcmSOPClassUIDToIOD.h
+++ b/Source/DataDictionary/gdcmSOPClassUIDToIOD.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
  * \brief Class convert a class SOP Class UID into IOD
- *
+ * \details 
  * Reference PS 3.4 Table B.5-1 STANDARD SOP CLASSES
  */
 class GDCM_EXPORT SOPClassUIDToIOD
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmByteBuffer.h b/Source/DataStructureAndEncodingDefinition/gdcmByteBuffer.h
index ce78287..0c5d393 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmByteBuffer.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmByteBuffer.h
@@ -26,7 +26,7 @@ namespace gdcm
 /**
  * \brief ByteBuffer
  *
- * Detailled description here
+ * \details Detailled description here
  * \note
  * looks like a std::streambuf or std::filebuf class with the get and
  * peek pointer
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmByteSwapFilter.h b/Source/DataStructureAndEncodingDefinition/gdcmByteSwapFilter.h
index bc650c0..f9a27d9 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmByteSwapFilter.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmByteSwapFilter.h
@@ -21,7 +21,7 @@ namespace gdcm
 
 /**
  * \brief ByteSwapFilter
- * In place byte-swapping of a dataset
+ * \details In place byte-swapping of a dataset
  * FIXME: FL status ??
  */
 class GDCM_EXPORT ByteSwapFilter
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmCP246ExplicitDataElement.h b/Source/DataStructureAndEncodingDefinition/gdcmCP246ExplicitDataElement.h
index 340fc3f..a039740 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmCP246ExplicitDataElement.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmCP246ExplicitDataElement.h
@@ -21,6 +21,7 @@ namespace gdcm
 // Data Element (CP246Explicit)
 /**
  * \brief Class to read/write a DataElement as CP246Explicit Data Element
+ * \details 
  * \note Some system are producing SQ, declare them as UN, but encode the SQ as 'Explicit'
  * instead of Implicit
  */
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmCodeString.h b/Source/DataStructureAndEncodingDefinition/gdcmCodeString.h
index cfd9e52..2608fba 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmCodeString.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmCodeString.h
@@ -21,7 +21,7 @@ namespace gdcm
 
 /**
  * \brief CodeString
- * This is an implementation of DICOM VR: CS
+ * \details This is an implementation of DICOM VR: CS
  * The cstor will properly Trim so that operator== is correct.
  *
  * \note the cstor of CodeString will Trim the string on the fly so as
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmDataSet.h b/Source/DataStructureAndEncodingDefinition/gdcmDataSet.h
index 198ef58..624b20d 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmDataSet.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmDataSet.h
@@ -30,7 +30,7 @@ class GDCM_EXPORT DataElementException : public std::exception {};
 class PrivateTag;
 /**
  * \brief Class to represent a Data Set (which contains Data Elements)
- * A Data Set represents an instance of a real world Information Object
+ * \details A Data Set represents an instance of a real world Information Object
  * \note
  * DATA SET:
  * Exchanged information consisting of a structured set of Attribute values
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmDataSetEvent.h b/Source/DataStructureAndEncodingDefinition/gdcmDataSetEvent.h
index debf762..3c6ecc7 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmDataSetEvent.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmDataSetEvent.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
  * \brief DataSetEvent
- * Special type of event triggered during the DataSet store/move process
+ * \details Special type of event triggered during the DataSet store/move process
  *
  * \see
  */
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmFile.h b/Source/DataStructureAndEncodingDefinition/gdcmFile.h
index f7d0b29..88b94e5 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmFile.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmFile.h
@@ -23,7 +23,7 @@ namespace gdcm_ns
 
 /**
  * \brief a DICOM File
- * See PS 3.10 File: A File is an ordered string of zero or more bytes, where
+ * \details See PS 3.10 File: A File is an ordered string of zero or more bytes, where
  * the first byte is at the beginning of the file and the last byte at the end
  * of the File. Files are identified by a unique File ID and may by written,
  * read and/or deleted.
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmFileMetaInformation.cxx b/Source/DataStructureAndEncodingDefinition/gdcmFileMetaInformation.cxx
index 4a43cfd..55621c6 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmFileMetaInformation.cxx
+++ b/Source/DataStructureAndEncodingDefinition/gdcmFileMetaInformation.cxx
@@ -733,9 +733,9 @@ std::istream &FileMetaInformation::ReadCompatInternal(std::istream &is)
 //  if( t.GetGroup() == 0x0002 )
     {
     // Purposely not Re-use ReadVR since we can read VR_END
-    char vr_str[2];
-    is.read(vr_str, 2);
-    if( VR::IsValid(vr_str) )
+    char vr_str0[2];
+    is.read(vr_str0, 2);
+    if( VR::IsValid(vr_str0) )
       {
       MetaInformationTS = TransferSyntax::Explicit;
       // Hourah !
@@ -780,7 +780,7 @@ std::istream &FileMetaInformation::ReadCompatInternal(std::istream &is)
       // Now is a good time to find out the dataset transfer syntax
       try {
       ComputeDataSetTransferSyntax();
-      } catch( gdcm::Exception & ex ) {
+      } catch( gdcm::Exception & ) {
         // We were able to read some of the Meta Header, but failed to compute the DataSetTS
         // technically GDCM is able to cope with any value here. But be kind and try to have a good guess:
      
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmFileSet.h b/Source/DataStructureAndEncodingDefinition/gdcmFileSet.h
index 2a6b8f8..0c580f6 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmFileSet.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmFileSet.h
@@ -21,7 +21,7 @@ namespace gdcm
 {
 /**
  * \brief
- * File-set: A File-set is a collection of DICOM Files (and possibly non-DICOM Files)
+ * \details File-set: A File-set is a collection of DICOM Files (and possibly non-DICOM Files)
  * that share a common naming space within which File IDs are unique.
  */
 class GDCM_EXPORT FileSet
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmItem.h b/Source/DataStructureAndEncodingDefinition/gdcmItem.h
index 74bc1d4..6fd9a6d 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmItem.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmItem.h
@@ -30,7 +30,7 @@ namespace gdcm_ns
 class DataSet;
 /**
  * \brief Class to represent an Item
- * A component of the value of a Data Element that is of Value Representation
+ * \details A component of the value of a Data Element that is of Value Representation
  * Sequence of Items.
  * An Item contains a Data Set .
  * See PS 3.5 7.5.1 Item Encoding Rules
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.cxx b/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.cxx
index 5a30639..0c5be6d 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.cxx
+++ b/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.cxx
@@ -137,6 +137,7 @@ static const char *MSStrings[] = {
   "1.2.840.10008.5.1.4.1.1.77.1.2",   // VL Microscopic Image Storage
   "1.2.840.10008.5.1.4.1.1.130", // Enhanced PET Image Storage
   "1.2.840.10008.5.1.4.1.1.77.1.4.1", // Video Photographic Image Storage
+  "1.2.840.10008.5.1.4.1.1.13.1.2", // XRay3DCraniofacialImageStorage
   0
 };
 
@@ -316,6 +317,7 @@ static const MSModalityType MSModalityTypes[] = {
   {"GM", 3, 0},// VLMicroscopicImageStorage
   {"PT", 3, 0},//PETImageStorage,
   {"XC", 3, 0},// VideoPhotographicImageStorage
+  {"DX", 3, 0},// XRay3DCraniofacialImageStorage
 
   {NULL, 0, 0} //MS_END
 };
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.h b/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.h
index b58d2a3..a59e4af 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmMediaStorage.h
@@ -130,6 +130,7 @@ public:
     VLMicroscopicImageStorage,
     EnhancedPETImageStorage,
     VideoPhotographicImageStorage,
+    XRay3DCraniofacialImageStorage,
     MS_END
   } MSType; // Media Storage Type
 
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmPDBHeader.h b/Source/DataStructureAndEncodingDefinition/gdcmPDBHeader.h
index 38a80a1..b0b3ea1 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmPDBHeader.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmPDBHeader.h
@@ -35,7 +35,7 @@ class PrivateTag;
 /**
  * \brief Class for PDBHeader
  *
- * GEMS MR Image have an Attribute (0025,1b,GEMS_SERS_01) which store the
+ * \details GEMS MR Image have an Attribute (0025,1b,GEMS_SERS_01) which store the
  * Acquisition parameter of the MR Image. It is compressed and can therefore
  * not be used as is. This class de-encapsulated the Protocol Data Block and
  * allow users to query element by name.
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmParser.h b/Source/DataStructureAndEncodingDefinition/gdcmParser.h
index e9d3a92..175cc08 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmParser.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmParser.h
@@ -26,7 +26,7 @@ namespace gdcm
 /**
  * \brief Parser ala XML_Parser from expat (SAX)
  *
- * Detailled description here
+ * \details Detailled description here
  * \note Simple API for DICOM
  */
 class GDCM_EXPORT Parser /*: private IStream*/
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmPreamble.cxx b/Source/DataStructureAndEncodingDefinition/gdcmPreamble.cxx
index d69c3ac..3e58d72 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmPreamble.cxx
+++ b/Source/DataStructureAndEncodingDefinition/gdcmPreamble.cxx
@@ -54,14 +54,14 @@ void Preamble::Valid()
 {
   if( !Internal ) Internal = new char[128+4];
   memset( Internal, 0, 128 );
-  strncpy( Internal+128, "DICM", 4);
+  memcpy( Internal+128, "DICM", 4);
 }
 
 void Preamble::Create()
 {
   if( !Internal ) Internal = new char[128+4];
   memset( Internal, 0, 128 );
-  strncpy( Internal+128, "DICM", 4);
+  memcpy( Internal+128, "DICM", 4);
 }
 
 void Preamble::Remove()
@@ -87,9 +87,8 @@ void Preamble::Clear()
 {
 }
 
-void Preamble::Print(std::ostream &os) const
+void Preamble::Print(std::ostream &) const
 {
-(void)os;
 }
 
 } // end namespace gdcm
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmPreamble.h b/Source/DataStructureAndEncodingDefinition/gdcmPreamble.h
index 4e6d2e3..b4f0edc 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmPreamble.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmPreamble.h
@@ -11,7 +11,6 @@
      PURPOSE.  See the above copyright notice for more information.
 
 =========================================================================*/
-
 #ifndef GDCMPREAMBLE_H
 #define GDCMPREAMBLE_H
 
@@ -32,26 +31,30 @@ public:
 
   friend std::ostream &operator<<(std::ostream &_os, const Preamble &_val);
 
-  // Clear
+  /// Clear
   void Clear();
 
-  // Set Preamble to the default one
+  /// Set Preamble to the default one
   void Valid();
   void Create();
   void Remove();
 
- // Read
+  /// Read Preamble
   std::istream &Read(std::istream &is);
 
-  // Write
+  /// Write Preamble
   std::ostream const &Write(std::ostream &os) const;
 
+  /// Print Preamble
   void Print(std::ostream &os) const;
 
+  /// Get internal pointer to preamble
   const char *GetInternal() const { return Internal; }
 
+  /// Check if Preamble is empty
   bool IsEmpty() const { return !Internal; }
 
+  /// Return size of Preamble
   VL GetLength() const { return 128 + 4; }
 
   Preamble(Preamble const &)
@@ -70,7 +73,6 @@ protected:
     return true;
   }
 
-
 private:
   char *Internal;
 };
@@ -81,7 +83,6 @@ inline std::ostream& operator<<(std::ostream &os, const Preamble &val)
   return os;
 }
 
-
 } // end namespace gdcm
 
 #endif //GDCMPREAMBLE_H
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmSequenceOfItems.h b/Source/DataStructureAndEncodingDefinition/gdcmSequenceOfItems.h
index 9554ebf..5be8c57 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmSequenceOfItems.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmSequenceOfItems.h
@@ -26,7 +26,7 @@ namespace gdcm_ns
 
 /**
  * \brief Class to represent a Sequence Of Items
- * (value representation : SQ)
+ * \details (value representation : SQ)
  *  - a Value Representation for Data Elements that contains a sequence of Data Sets.
  *  - Sequence of Item allows for Nested Data Sets
  *
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmTag.h b/Source/DataStructureAndEncodingDefinition/gdcmTag.h
index 4104090..8abfe03 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmTag.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmTag.h
@@ -24,7 +24,7 @@ namespace gdcm
 
 /**
  * \brief Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
- * Basically an uint32_t which can also be expressed as two uint16_t (group and
+ * \details Basically an uint32_t which can also be expressed as two uint16_t (group and
  * element)
  * \note
  * DATA ELEMENT TAG:
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmUNExplicitImplicitDataElement.h b/Source/DataStructureAndEncodingDefinition/gdcmUNExplicitImplicitDataElement.h
index ee03e8e..87ea53d 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmUNExplicitImplicitDataElement.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmUNExplicitImplicitDataElement.h
@@ -21,7 +21,7 @@ namespace gdcm
 // Data Element (ExplicitImplicit)
 /**
  * \brief Class to read/write a DataElement as ExplicitImplicit Data Element
- * This class gather two known bugs:
+ * \details This class gather two known bugs:
  * 1. GDCM 1.2.0 would rewrite VR=UN Value Length on 2 bytes instead of 4 bytes
  * 2. GDCM 1.2.0 would also rewrite DataElement as Implicit when the VR would not be known
  *    this would only happen in some very rare cases.
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmVR.h b/Source/DataStructureAndEncodingDefinition/gdcmVR.h
index fddb94e..04d6fcc 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmVR.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmVR.h
@@ -39,7 +39,7 @@ namespace gdcm
 
 /**
  * \brief VR class
- * This is adapted from DICOM standard
+ * \details This is adapted from DICOM standard
  * The biggest difference is the INVALID VR
  * and the composite one that differ from standard (more like an addition)
  * This allow us to represent all the possible case express in the DICOMV3 dict
diff --git a/Source/DataStructureAndEncodingDefinition/gdcmWriter.h b/Source/DataStructureAndEncodingDefinition/gdcmWriter.h
index 2a8790a..807619b 100644
--- a/Source/DataStructureAndEncodingDefinition/gdcmWriter.h
+++ b/Source/DataStructureAndEncodingDefinition/gdcmWriter.h
@@ -23,7 +23,7 @@ namespace gdcm
 class FileMetaInformation;
 /**
  * \brief Writer ala DOM (Document Object Model)
- * This class is a non-validating writer, it will only performs well-
+ * \details This class is a non-validating writer, it will only performs well-
  * formedness check only.
  *
  * \details Detailled description here
diff --git a/Source/MediaStorageAndFileFormat/gdcmAnonymizeEvent.h b/Source/MediaStorageAndFileFormat/gdcmAnonymizeEvent.h
index e31e4b6..2180df9 100644
--- a/Source/MediaStorageAndFileFormat/gdcmAnonymizeEvent.h
+++ b/Source/MediaStorageAndFileFormat/gdcmAnonymizeEvent.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
  * \brief AnonymizeEvent
- * Special type of event triggered during the Anonymization process
+ * \details Special type of event triggered during the Anonymization process
  *
  * \see Anonymizer
  */
diff --git a/Source/MediaStorageAndFileFormat/gdcmAnonymizer.h b/Source/MediaStorageAndFileFormat/gdcmAnonymizer.h
index 258f68f..932bbc7 100644
--- a/Source/MediaStorageAndFileFormat/gdcmAnonymizer.h
+++ b/Source/MediaStorageAndFileFormat/gdcmAnonymizer.h
@@ -29,7 +29,7 @@ class CryptographicMessageSyntax;
 
 /**
  * \brief Anonymizer
- * This class is a multi purpose anonymizer. It can work in 2 mode:
+ * \details This class is a multi purpose anonymizer. It can work in 2 mode:
  * - Full (irreversible) anonymizer (aka dumb mode)
  * - reversible de-identifier/re-identifier (aka smart mode). This implements the Basic Application Level Confidentiality Profile, DICOM PS 3.15-2009
  *
diff --git a/Source/MediaStorageAndFileFormat/gdcmApplicationEntity.h b/Source/MediaStorageAndFileFormat/gdcmApplicationEntity.h
index e7fd8c2..dbd079d 100644
--- a/Source/MediaStorageAndFileFormat/gdcmApplicationEntity.h
+++ b/Source/MediaStorageAndFileFormat/gdcmApplicationEntity.h
@@ -23,6 +23,7 @@ namespace gdcm
 
 /**
  * \brief ApplicationEntity
+ * \details 
  * - AE Application Entity
  * - A string of characters that identifies an Application Entity with leading
  *   and trailing spaces (20H) being non-significant. A value consisting solely
diff --git a/Source/MediaStorageAndFileFormat/gdcmBitmap.h b/Source/MediaStorageAndFileFormat/gdcmBitmap.h
index 6fc6c82..8301208 100644
--- a/Source/MediaStorageAndFileFormat/gdcmBitmap.h
+++ b/Source/MediaStorageAndFileFormat/gdcmBitmap.h
@@ -32,7 +32,7 @@ namespace gdcm
 
 /**
  * \brief Bitmap class
- * A bitmap based image. Used as parent for both IconImage and the main Pixel Data Image
+ * \details A bitmap based image. Used as parent for both IconImage and the main Pixel Data Image
  * It does not contains any World Space information (IPP, IOP)
  */
 class GDCM_EXPORT Bitmap : public Object
diff --git a/Source/MediaStorageAndFileFormat/gdcmBitmapToBitmapFilter.h b/Source/MediaStorageAndFileFormat/gdcmBitmapToBitmapFilter.h
index 57134e8..5769af1 100644
--- a/Source/MediaStorageAndFileFormat/gdcmBitmapToBitmapFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmBitmapToBitmapFilter.h
@@ -21,7 +21,7 @@ namespace gdcm
 
 /**
  * \brief BitmapToBitmapFilter class
- * Super class for all filter taking an image and producing an output image
+ * \details Super class for all filter taking an image and producing an output image
  */
 class GDCM_EXPORT BitmapToBitmapFilter
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmCurve.h b/Source/MediaStorageAndFileFormat/gdcmCurve.h
index 908782d..62b4b37 100644
--- a/Source/MediaStorageAndFileFormat/gdcmCurve.h
+++ b/Source/MediaStorageAndFileFormat/gdcmCurve.h
@@ -28,6 +28,7 @@ class DataSet;
 class DataElement;
 /**
  * \brief Curve class to handle element 50xx,3000 Curve Data
+ * \details  
  *  WARNING: This is deprecated and lastly defined in PS 3.3 - 2004
  *
  *  Examples:
diff --git a/Source/MediaStorageAndFileFormat/gdcmDICOMDIR.h b/Source/MediaStorageAndFileFormat/gdcmDICOMDIR.h
index 21437d0..c8afdb6 100644
--- a/Source/MediaStorageAndFileFormat/gdcmDICOMDIR.h
+++ b/Source/MediaStorageAndFileFormat/gdcmDICOMDIR.h
@@ -21,7 +21,7 @@ namespace gdcm
 /**
  * \brief DICOMDIR class
  *
- * Structured for handling DICOMDIR
+ * \details Structured for handling DICOMDIR
  */
 class GDCM_EXPORT DICOMDIR
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmDICOMDIRGenerator.h b/Source/MediaStorageAndFileFormat/gdcmDICOMDIRGenerator.h
index 96c8525..583ae45 100644
--- a/Source/MediaStorageAndFileFormat/gdcmDICOMDIRGenerator.h
+++ b/Source/MediaStorageAndFileFormat/gdcmDICOMDIRGenerator.h
@@ -28,7 +28,7 @@ class DICOMDIRGeneratorInternal;
 
 /**
  * \brief DICOMDIRGenerator class
- * This is a STD-GEN-CD DICOMDIR generator.
+ * \details This is a STD-GEN-CD DICOMDIR generator.
  * ref: PS 3.11-2008 Annex D (Normative) - General Purpose CD-R and DVD Interchange Profiles
  *
  * \note
diff --git a/Source/MediaStorageAndFileFormat/gdcmDirectoryHelper.h b/Source/MediaStorageAndFileFormat/gdcmDirectoryHelper.h
index a873198..4dc84fb 100644
--- a/Source/MediaStorageAndFileFormat/gdcmDirectoryHelper.h
+++ b/Source/MediaStorageAndFileFormat/gdcmDirectoryHelper.h
@@ -20,7 +20,7 @@ namespace gdcm
 
 /**
  * \brief DirectoryHelper
- * this class is designed to help mitigate some of the commonly performed
+ * \details this class is designed to help mitigate some of the commonly performed
  * operations on directories.  namely:
  * 1) the ability to determine the number of series in a directory by what type
  * of series is present
diff --git a/Source/MediaStorageAndFileFormat/gdcmDumper.h b/Source/MediaStorageAndFileFormat/gdcmDumper.h
index 1222845..8a628ec 100644
--- a/Source/MediaStorageAndFileFormat/gdcmDumper.h
+++ b/Source/MediaStorageAndFileFormat/gdcmDumper.h
@@ -22,6 +22,7 @@ namespace gdcm
 // It's a sink there is no output
 /**
  * \brief Codec class
+ * \details 
  * \note
  * Use it to simply dump value read from the file. No interpretation is done.
  * But it is real fast ! Almost no overhead
diff --git a/Source/MediaStorageAndFileFormat/gdcmFileAnonymizer.h b/Source/MediaStorageAndFileFormat/gdcmFileAnonymizer.h
index e962399..0c6c393 100644
--- a/Source/MediaStorageAndFileFormat/gdcmFileAnonymizer.h
+++ b/Source/MediaStorageAndFileFormat/gdcmFileAnonymizer.h
@@ -26,7 +26,7 @@ class FileAnonymizerInternals;
 /**
  * \brief FileAnonymizer
  *
- * This Anonymizer is a file-based Anonymizer. It requires a valid DICOM
+ * \details This Anonymizer is a file-based Anonymizer. It requires a valid DICOM
  * file and will use the Value Length to skip over any information.
  *
  * It will not load the DICOM dataset taken from SetInputFileName() into memory
diff --git a/Source/MediaStorageAndFileFormat/gdcmFileChangeTransferSyntax.h b/Source/MediaStorageAndFileFormat/gdcmFileChangeTransferSyntax.h
index ccae18e..3a27a61 100644
--- a/Source/MediaStorageAndFileFormat/gdcmFileChangeTransferSyntax.h
+++ b/Source/MediaStorageAndFileFormat/gdcmFileChangeTransferSyntax.h
@@ -26,7 +26,7 @@ class TransferSyntax;
 /**
  * \brief FileChangeTransferSyntax
  *
- * This class is a file-based (limited) replacement of the in-memory
+ * \details This class is a file-based (limited) replacement of the in-memory
  * ImageChangeTransferSyntax.
  *
  * This class provide a file-based compression-only mechanism. It will take in
diff --git a/Source/MediaStorageAndFileFormat/gdcmFileDecompressLookupTable.h b/Source/MediaStorageAndFileFormat/gdcmFileDecompressLookupTable.h
index 31f7862..7736761 100644
--- a/Source/MediaStorageAndFileFormat/gdcmFileDecompressLookupTable.h
+++ b/Source/MediaStorageAndFileFormat/gdcmFileDecompressLookupTable.h
@@ -24,7 +24,7 @@ namespace gdcm
 class DataElement;
 /**
  * \brief FileDecompressLookupTable class
- * It decompress the segmented LUT into linearized one (only PALETTE_COLOR images)
+ * \details It decompress the segmented LUT into linearized one (only PALETTE_COLOR images)
  * Output will be a PhotometricInterpretation=RGB image
  */
 class GDCM_EXPORT FileDecompressLookupTable : public Subject
diff --git a/Source/MediaStorageAndFileFormat/gdcmFileDerivation.h b/Source/MediaStorageAndFileFormat/gdcmFileDerivation.h
index d8f0d84..d3a3167 100644
--- a/Source/MediaStorageAndFileFormat/gdcmFileDerivation.h
+++ b/Source/MediaStorageAndFileFormat/gdcmFileDerivation.h
@@ -23,7 +23,7 @@ class FileDerivationInternals;
 class DataSet;
 /**
  * \brief FileDerivation class
- * See PS 3.16 - 2008 For the list of Code Value that can be used for in
+ * \details See PS 3.16 - 2008 For the list of Code Value that can be used for in
  * Derivation Code Sequence
  *
  * URL: http://medical.nema.org/medical/dicom/2008/08_16pu.pdf
diff --git a/Source/MediaStorageAndFileFormat/gdcmFileExplicitFilter.h b/Source/MediaStorageAndFileFormat/gdcmFileExplicitFilter.h
index 5ea755b..9a8df33 100644
--- a/Source/MediaStorageAndFileFormat/gdcmFileExplicitFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmFileExplicitFilter.h
@@ -22,7 +22,7 @@ class Dicts;
 
 /**
  * \brief FileExplicitFilter class
- * After changing a file from Implicit to Explicit representation (see
+ * \details After changing a file from Implicit to Explicit representation (see
  * ImageChangeTransferSyntax) one operation is to make sure the VR of each
  * DICOM attribute are accurate and do match the one from PS 3.6. Indeed when a
  * file is written in Implicit reprensentation, the VR is not stored directly
diff --git a/Source/MediaStorageAndFileFormat/gdcmFileStreamer.h b/Source/MediaStorageAndFileFormat/gdcmFileStreamer.h
index 0690f28..0ecff39 100644
--- a/Source/MediaStorageAndFileFormat/gdcmFileStreamer.h
+++ b/Source/MediaStorageAndFileFormat/gdcmFileStreamer.h
@@ -25,7 +25,7 @@ class Tag;
 class PrivateTag;
 /**
  * \brief FileStreamer
- * This class let a user create a massive DICOM DataSet from a template DICOM
+ * \details This class let a user create a massive DICOM DataSet from a template DICOM
  * file, by appending chunks of data.
  *
  * This class support two mode of operation:
diff --git a/Source/MediaStorageAndFileFormat/gdcmIPPSorter.cxx b/Source/MediaStorageAndFileFormat/gdcmIPPSorter.cxx
index cadb90b..f3670f9 100644
--- a/Source/MediaStorageAndFileFormat/gdcmIPPSorter.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmIPPSorter.cxx
@@ -255,9 +255,9 @@ bool IPPSorter::Sort(std::vector<std::string> const & filenames)
       for(SortedFilenames::const_iterator it1 = sorted.begin(); it1 != sorted.end(); ++it1)
         {
         std::string f = it1->second;
-        if( f.length() > 32 )
+        if( f.length() > 62 )
           {
-          f = f.substr(0,10) + " ... " + f.substr(f.length()-17);
+          f = f.substr(0,10) + " ... " + f.substr(f.length()-47);
           }
         double d = it1->first - prev1;
         if( it1 != sorted.begin() && fabs(d - zspacing) > ZTolerance) os << "* ";
@@ -275,10 +275,12 @@ bool IPPSorter::Sort(std::vector<std::string> const & filenames)
   return true;
 }
 
+#if !defined(GDCM_LEGACY_REMOVE)
 bool IPPSorter::ComputeSpacing(std::vector<std::string> const & filenames)
 {
   (void)filenames;
   return false;
 }
+#endif
 
 } // end namespace gdcm
diff --git a/Source/MediaStorageAndFileFormat/gdcmIPPSorter.h b/Source/MediaStorageAndFileFormat/gdcmIPPSorter.h
index a3cc8b5..85af5a3 100644
--- a/Source/MediaStorageAndFileFormat/gdcmIPPSorter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmIPPSorter.h
@@ -23,7 +23,7 @@ namespace gdcm
 {
 /**
  * \brief IPPSorter
- * Implement a simple Image Position (Patient) sorter, along the Image
+ * \details Implement a simple Image Position (Patient) sorter, along the Image
  * Orientation (Patient) direction.
  * This algorithm does NOT support duplicate and will FAIL in case of duplicate
  * IPP.
@@ -101,7 +101,7 @@ protected:
   double DirCosTolerance;
 
 private:
-  bool ComputeSpacing(std::vector<std::string> const & filenames);
+  GDCM_LEGACY(bool ComputeSpacing(std::vector<std::string> const & filenames))
 };
 
 
diff --git a/Source/MediaStorageAndFileFormat/gdcmIconImageFilter.h b/Source/MediaStorageAndFileFormat/gdcmIconImageFilter.h
index f613920..c3d7c95 100644
--- a/Source/MediaStorageAndFileFormat/gdcmIconImageFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmIconImageFilter.h
@@ -23,7 +23,7 @@ class IconImageFilterInternals;
 
 /**
  * \brief IconImageFilter
- * This filter will extract icons from a File
+ * \details This filter will extract icons from a File
  * This filter will loop over all known sequence (public and private) that may
  * contains an IconImage and retrieve them. The filter will fails with a value
  * of false if no icon can be found
diff --git a/Source/MediaStorageAndFileFormat/gdcmIconImageGenerator.h b/Source/MediaStorageAndFileFormat/gdcmIconImageGenerator.h
index 6f6b8cb..40fb6e8 100644
--- a/Source/MediaStorageAndFileFormat/gdcmIconImageGenerator.h
+++ b/Source/MediaStorageAndFileFormat/gdcmIconImageGenerator.h
@@ -22,7 +22,7 @@ namespace gdcm
 class IconImageGeneratorInternals;
 /**
  * \brief IconImageGenerator
- * This filter will generate a valid Icon from the Pixel Data element (an
+ * \details This filter will generate a valid Icon from the Pixel Data element (an
  * instance of Pixmap).
  * To generate a valid Icon, one is only allowed the following Photometric
  * Interpretation:
diff --git a/Source/MediaStorageAndFileFormat/gdcmImage.h b/Source/MediaStorageAndFileFormat/gdcmImage.h
index b315b6c..c8b7a9c 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImage.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImage.h
@@ -23,7 +23,7 @@ namespace gdcm
 
 /**
  * \brief Image
- * This is the container for an Image in the general sense.
+ * \details This is the container for an Image in the general sense.
  * From this container you should be able to request information like:
  * - Origin
  * - Dimension
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageApplyLookupTable.h b/Source/MediaStorageAndFileFormat/gdcmImageApplyLookupTable.h
index f07875d..5e7afbd 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageApplyLookupTable.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageApplyLookupTable.h
@@ -22,7 +22,7 @@ namespace gdcm
 class DataElement;
 /**
  * \brief ImageApplyLookupTable class
- * It applies the LUT the PixelData (only PALETTE_COLOR images)
+ * \details It applies the LUT the PixelData (only PALETTE_COLOR images)
  * Output will be a PhotometricInterpretation=RGB image
  */
 class GDCM_EXPORT ImageApplyLookupTable : public ImageToImageFilter
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h b/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
index 7aad807..1b74bfa 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
@@ -23,7 +23,7 @@ namespace gdcm
 class DataElement;
 /**
  * \brief ImageChangePhotometricInterpretation class
- * Class to change the Photometric Interpetation of an input DICOM
+ * \details Class to change the Photometric Interpetation of an input DICOM
  */
 class GDCM_EXPORT ImageChangePhotometricInterpretation : public ImageToImageFilter
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageChangePlanarConfiguration.h b/Source/MediaStorageAndFileFormat/gdcmImageChangePlanarConfiguration.h
index daa3a38..7d45115 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageChangePlanarConfiguration.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageChangePlanarConfiguration.h
@@ -22,7 +22,7 @@ namespace gdcm
 class DataElement;
 /**
  * \brief ImageChangePlanarConfiguration class
- * Class to change the Planar configuration of an input DICOM
+ * \details Class to change the Planar configuration of an input DICOM
  * By default it will change into the more usual reprensentation: PlanarConfiguration = 0
  */
 class GDCM_EXPORT ImageChangePlanarConfiguration : public ImageToImageFilter
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageChangeTransferSyntax.h b/Source/MediaStorageAndFileFormat/gdcmImageChangeTransferSyntax.h
index fc85cf5..c26d077 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageChangeTransferSyntax.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageChangeTransferSyntax.h
@@ -24,7 +24,7 @@ class DataElement;
 class ImageCodec;
 /**
  * \brief ImageChangeTransferSyntax class
- * Class to change the transfer syntax of an input DICOM
+ * \details Class to change the transfer syntax of an input DICOM
  *
  * If only Force param is set but no input TransferSyntax is set, it is assumed
  * that user only wants to inspect encapsulated stream (advanced dev. option).
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx b/Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx
index 3dad3d1..9d85706 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx
@@ -268,6 +268,7 @@ bool ImageCodec::DoPaddedCompositePixelCode(std::istream &is, std::ostream &os)
   //SwapCode sc = is.GetSwapCode();
 
   assert( !(buf_size % 2) );
+  bool ret = true;
   if( GetPixelFormat().GetBitsAllocated() == 16 )
     {
     for(size_t i = 0; i < buf_size/2; ++i)
@@ -301,10 +302,10 @@ bool ImageCodec::DoPaddedCompositePixelCode(std::istream &is, std::ostream &os)
     }
   else
     {
-    return false;
+    ret = false;
     }
   delete[] dummy_buffer;
-  return true;
+  return ret;
 }
 
 bool ImageCodec::DoInvertMonochrome(std::istream &is, std::ostream &os)
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageFragmentSplitter.h b/Source/MediaStorageAndFileFormat/gdcmImageFragmentSplitter.h
index a771cdb..73c9da3 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageFragmentSplitter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageFragmentSplitter.h
@@ -22,7 +22,7 @@ namespace gdcm
 class DataElement;
 /**
  * \brief ImageFragmentSplitter class
- * For single frame image, DICOM standard allow splitting the frame into multiple fragments
+ * \details For single frame image, DICOM standard allow splitting the frame into multiple fragments
  */
 class GDCM_EXPORT ImageFragmentSplitter : public ImageToImageFilter
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageHelper.cxx b/Source/MediaStorageAndFileFormat/gdcmImageHelper.cxx
index 549c209..a82d277 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageHelper.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmImageHelper.cxx
@@ -422,6 +422,7 @@ std::vector<double> ImageHelper::GetOriginValue(File const & f)
    || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::SegmentationStorage )
     {
     const Tag t1(0x5200,0x9229);
@@ -543,6 +544,7 @@ std::vector<double> ImageHelper::GetDirectionCosinesValue(File const & f)
    || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::SegmentationStorage )
     {
     const Tag t1(0x5200,0x9229);
@@ -854,6 +856,7 @@ void ImageHelper::SetDimensionsValue(File& f, const Pixmap & img)
    || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::SegmentationStorage )
     {
       const Tag tfgs(0x5200,0x9230);
@@ -878,6 +881,7 @@ std::vector<double> ImageHelper::GetRescaleInterceptSlopeValue(File const & f)
    || ms == MediaStorage::EnhancedMRImageStorage
    || ms == MediaStorage::EnhancedPETImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::SegmentationStorage )
     {
     const Tag t1(0x5200,0x9229);
@@ -1021,6 +1025,7 @@ Tag ImageHelper::GetSpacingTagFromMediaStorage(MediaStorage const &ms)
   //case MediaStorage::EnhancedMRImageStorage:
   //case MediaStorage::EnhancedCTImageStorage:
   //case MediaStorage::XRay3DAngiographicImageStorage
+  //case MediaStorage::XRay3DCraniofacialImageStorage
   //  gdcmWarningMacro( "Enhanced image are not currently supported. Spacing will be wrong" );
   case MediaStorage::CTImageStorage:
   case MediaStorage::MRImageStorage:
@@ -1181,6 +1186,7 @@ std::vector<double> ImageHelper::GetSpacingValue(File const & f)
     || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
     || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
     || ms == MediaStorage::XRay3DAngiographicImageStorage
+    || ms == MediaStorage::XRay3DCraniofacialImageStorage
     || ms == MediaStorage::SegmentationStorage )
     {
     // <entry group="5200" element="9230" vr="SQ" vm="1" name="Per-frame Functional Groups Sequence"/>
@@ -1450,6 +1456,7 @@ void ImageHelper::SetSpacingValue(DataSet & ds, const std::vector<double> & spac
    || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::SegmentationStorage )
     {
 /*
@@ -1509,9 +1516,9 @@ void ImageHelper::SetSpacingValue(DataSet & ds, const std::vector<double> & spac
         DataSet &subds2 = item2.GetNestedDataSet();
 
         // <entry group="0028" element="9110" vr="SQ" vm="1" name="Pixel Measures Sequence"/>
-        // do not set a slice thickness since GDCM always recompute it from the IOP/IPP
-        //Attribute<0x0018,0x0050> at2;
-        //at2.SetValue( spacing[2] );
+        // do not set spacing between slices since GDCM always recompute it from the IOP/IPP
+        //Attribute<0x0018,0x0088> at2;
+        //at2.SetValue( fabs(spacing[2]) );
         Attribute<0x0028,0x0030> at1;
         at1.SetValue( spacing[1], 0 );
         at1.SetValue( spacing[0], 1 );
@@ -1760,6 +1767,7 @@ void ImageHelper::SetOriginValue(DataSet & ds, const Image & image)
    && ms != MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    && ms != MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    && ms != MediaStorage::XRay3DAngiographicImageStorage
+   && ms != MediaStorage::XRay3DCraniofacialImageStorage
    && ms != MediaStorage::EnhancedMRImageStorage
    && ms != MediaStorage::EnhancedPETImageStorage
    && ms != MediaStorage::EnhancedCTImageStorage )
@@ -1772,6 +1780,7 @@ void ImageHelper::SetOriginValue(DataSet & ds, const Image & image)
    || ms == MediaStorage::EnhancedMRImageStorage
    || ms == MediaStorage::EnhancedPETImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    || ms == MediaStorage::SegmentationStorage )
@@ -1859,6 +1868,7 @@ void ImageHelper::SetDirectionCosinesValue(DataSet & ds, const std::vector<doubl
    && ms != MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    && ms != MediaStorage::SegmentationStorage
    && ms != MediaStorage::XRay3DAngiographicImageStorage
+   && ms != MediaStorage::XRay3DCraniofacialImageStorage
    && ms != MediaStorage::EnhancedMRImageStorage
    && ms != MediaStorage::EnhancedPETImageStorage
    && ms != MediaStorage::EnhancedCTImageStorage )
@@ -1892,6 +1902,7 @@ void ImageHelper::SetDirectionCosinesValue(DataSet & ds, const std::vector<doubl
    || ms == MediaStorage::MultiframeGrayscaleWordSecondaryCaptureImageStorage
    || ms == MediaStorage::MultiframeGrayscaleByteSecondaryCaptureImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
    || ms == MediaStorage::SegmentationStorage )
     {
 /*
@@ -1997,6 +2008,7 @@ void ImageHelper::SetRescaleInterceptSlopeValue(File & f, const Image & img)
    && ms != MediaStorage::EnhancedCTImageStorage
    && ms != MediaStorage::EnhancedPETImageStorage
    && ms != MediaStorage::XRay3DAngiographicImageStorage
+   && ms != MediaStorage::XRay3DCraniofacialImageStorage
    && ms != MediaStorage::SegmentationStorage )
     {
     if( img.GetIntercept() != 0. || img.GetSlope() != 1. )
@@ -2011,6 +2023,7 @@ void ImageHelper::SetRescaleInterceptSlopeValue(File & f, const Image & img)
    || ms == MediaStorage::EnhancedMRImageStorage
    || ms == MediaStorage::EnhancedPETImageStorage
    || ms == MediaStorage::XRay3DAngiographicImageStorage
+   || ms == MediaStorage::XRay3DCraniofacialImageStorage
   )
     {
 /*
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageRegionReader.h b/Source/MediaStorageAndFileFormat/gdcmImageRegionReader.h
index f3fe5ec..09f01d7 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageRegionReader.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageRegionReader.h
@@ -24,11 +24,11 @@ namespace gdcm
 class ImageRegionReaderInternals;
 /**
  * \brief ImageRegionReader
- * This class is able to read a region from a DICOM file containing an image. This implementation
+ * \details This class is able to read a region from a DICOM file containing an image. This implementation
  * requires that the information stored in the DICOM header are consistent with what is in the
  * encapsulated Pixel Data. This is technically not required by DICOM standard, which makes 
  * this implementation illegal with regards to the famous JPEG note:
- * http://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_8.2.html\#para_4bcb841e-c6bf-4e26-82a5-3fad3c942da0
+ * http://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_8.2.html#para_4bcb841e-c6bf-4e26-82a5-3fad3c942da0
  * \see ImageReader
  */
 class GDCM_EXPORT ImageRegionReader : public ImageReader
diff --git a/Source/MediaStorageAndFileFormat/gdcmImageToImageFilter.h b/Source/MediaStorageAndFileFormat/gdcmImageToImageFilter.h
index d21d994..bc72241 100644
--- a/Source/MediaStorageAndFileFormat/gdcmImageToImageFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmImageToImageFilter.h
@@ -22,7 +22,7 @@ namespace gdcm
 class Image;
 /**
  * \brief ImageToImageFilter class
- * Super class for all filter taking an image and producing an output image
+ * \details Super class for all filter taking an image and producing an output image
  */
 class GDCM_EXPORT ImageToImageFilter : public PixmapToPixmapFilter
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx b/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx
index a38fa57..71a1958 100644
--- a/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx
@@ -19,7 +19,11 @@
 #include "gdcmSwapper.h"
 
 #include <cstring>
+#include <cstdio> // snprintf
 #include <numeric>
+#ifdef _WIN32
+#define snprintf _snprintf
+#endif
 
 #ifdef OPENJPEG_MAJOR_VERSION
 #if OPENJPEG_MAJOR_VERSION == 1
@@ -37,6 +41,8 @@
 namespace gdcm
 {
 
+#if OPENJPEG_MAJOR_VERSION == 1
+#else
 /* Part 1  Table A.2 List of markers and marker segments */
 typedef enum {
   FF30 = 0xFF30,
@@ -164,10 +170,9 @@ static inline bool read64(const char ** input, size_t * len, uint64_t * ret)
 }
 
 
-static bool parsej2k_imp( const char * const stream, const size_t file_size, bool * lossless )
+static bool parsej2k_imp( const char * const stream, const size_t file_size, bool * lossless, bool * mct )
 {
   uint16_t marker;
-  uintmax_t sotlen = 0;
   size_t lenmarker;
   const char * cur = stream;
   size_t cur_size = file_size;
@@ -184,6 +189,10 @@ static bool parsej2k_imp( const char * const stream, const size_t file_size, boo
 
       if( marker == COD )
         {
+        const uint8_t MCTransformation = *(cur+4);
+        if( MCTransformation == 0x0 ) *mct = false;
+        else if( MCTransformation == 0x1 ) *mct = true;
+        else return false;
         const uint8_t Transformation = *(cur+9);
         if( Transformation == 0x0 ) { *lossless = false; return true; }
         else if( Transformation == 0x1 ) *lossless = true;
@@ -197,7 +206,7 @@ static bool parsej2k_imp( const char * const stream, const size_t file_size, boo
   return false;
 }
 
-static bool parsejp2_imp( const char * const stream, const size_t file_size, bool * lossless )
+static bool parsejp2_imp( const char * const stream, const size_t file_size, bool * lossless, bool * mct )
 {
   uint32_t marker;
   uint64_t len64; /* ref */
@@ -207,8 +216,8 @@ static bool parsejp2_imp( const char * const stream, const size_t file_size, boo
 
   while( read32(&cur, &cur_size, &len32) )
     {
-    bool b = read32(&cur, &cur_size, &marker);
-    if( !b ) break;
+    bool b0 = read32(&cur, &cur_size, &marker);
+    if( !b0 ) break;
     len64 = len32;
     if( len32 == 1 ) /* 64bits ? */
       {
@@ -224,7 +233,7 @@ static bool parsejp2_imp( const char * const stream, const size_t file_size, boo
         len64 = (size_t)(file_size - start + 8);
         }
       assert( len64 >= 8 );
-      return parsej2k_imp( cur, len64 - 8, lossless );
+      return parsej2k_imp( cur, len64 - 8, lossless, mct );
       }
       const size_t lenmarker = len64 - 8;
       cur += lenmarker;
@@ -232,6 +241,7 @@ static bool parsejp2_imp( const char * const stream, const size_t file_size, boo
 
   return false;
 }
+#endif
 
 
 /**
@@ -302,7 +312,7 @@ void gdcm_error_callback(const char* msg, void* f)
   else
 #endif
     {
-    fprintf( stderr, msg );
+    fprintf( stderr, "%s", msg );
     }
 }
 
@@ -371,7 +381,8 @@ OPJ_BOOL opj_seek_from_memory (OPJ_OFF_T p_nb_bytes, myfile * p_file)
   //  return false;
   //  }
   //return true;
-  if( p_nb_bytes <= p_file->len )
+  assert( p_nb_bytes >= 0 );
+  if( (size_t)p_nb_bytes <= p_file->len )
     {
     p_file->cur = p_file->mem + p_nb_bytes;
     return OPJ_TRUE;
@@ -743,11 +754,19 @@ std::pair<char *, size_t> JPEG2000Codec::DecodeByStreamsCommon(char *dummy_buffe
   cio = opj_stream_create_memory_stream(fsrc,OPJ_J2K_STREAM_CHUNK_SIZE, true);
 
   /* setup the decoder decoding parameters using user parameters */
-  bool bResult;
+  OPJ_BOOL bResult;
   bResult = opj_setup_decoder(dinfo, &parameters);
-  assert( bResult );
+  if( !bResult )
+    {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
+    gdcmErrorMacro( "opj_setup_decoder failure" );
+    return std::make_pair<char*,size_t>(0,0);
+    }
+#if 0
   OPJ_INT32 l_tile_x0,l_tile_y0;
   OPJ_UINT32 l_tile_width,l_tile_height,l_nb_tiles_x,l_nb_tiles_y;
+#endif
 #if 0
   bResult = opj_read_header(
     dinfo,
@@ -765,8 +784,13 @@ std::pair<char *, size_t> JPEG2000Codec::DecodeByStreamsCommon(char *dummy_buffe
     dinfo,
     &image);
 #endif
-  assert( bResult );
-
+  if( !bResult )
+    {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
+    gdcmErrorMacro( "opj_setup_decoder failure" );
+    return std::make_pair<char*,size_t>(0,0);
+    }
 #if 0
   /* Optional if you want decode the entire image */
   opj_set_decode_area(dinfo, image, (OPJ_INT32)parameters.DA_x0,
@@ -774,7 +798,13 @@ std::pair<char *, size_t> JPEG2000Codec::DecodeByStreamsCommon(char *dummy_buffe
 #endif
 
   bResult = opj_decode(dinfo, cio,image);
-  assert( bResult );
+  if (!bResult )
+    {
+    opj_destroy_codec(dinfo);
+    opj_stream_destroy(cio);
+    gdcmErrorMacro( "opj_decode failed" );
+    return std::make_pair<char*,size_t>(0,0);
+    }
   bResult = bResult && (image != 00);
   bResult = bResult && opj_end_decompress(dinfo,cio);
   if (!image || !check_comp_valid(image) )
@@ -829,14 +859,16 @@ std::pair<char *, size_t> JPEG2000Codec::DecodeByStreamsCommon(char *dummy_buffe
 #else
   bool b = false;
   bool lossless;
+  bool mct;
   if( parameters.decod_format == JP2_CFMT )
-    b = parsejp2_imp( dummy_buffer, buf_size, &lossless);
+    b = parsejp2_imp( dummy_buffer, buf_size, &lossless, &mct);
   else if( parameters.decod_format == J2K_CFMT )
-    b = parsej2k_imp( dummy_buffer, buf_size, &lossless);
+    b = parsej2k_imp( dummy_buffer, buf_size, &lossless, &mct);
  
   reversible = 0;
-  if( b )
+  if( b ) {
     reversible = lossless;
+  }
 #endif // OPENJPEG_MAJOR_VERSION == 1
   LossyFlag = !reversible;
 
@@ -851,6 +883,15 @@ std::pair<char *, size_t> JPEG2000Codec::DecodeByStreamsCommon(char *dummy_buffe
 
   assert( image->numcomps == this->GetPixelFormat().GetSamplesPerPixel() );
   assert( image->numcomps == this->GetPhotometricInterpretation().GetSamplesPerPixel() );
+#if OPENJPEG_MAJOR_VERSION == 1
+#else
+  if( this->GetPhotometricInterpretation() == PhotometricInterpretation::RGB )
+    assert( !mct );
+  else if( this->GetPhotometricInterpretation() == PhotometricInterpretation::YBR_RCT )
+    assert( !mct );
+  else
+    assert( !mct );
+#endif
 
 #if OPENJPEG_MAJOR_VERSION == 1
   /* close the byte stream */
@@ -1513,8 +1554,10 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
   /* setup the decoder decoding parameters using user parameters */
   opj_setup_decoder(dinfo, &parameters);
   bool bResult;
+#if 0
   OPJ_INT32 l_tile_x0,l_tile_y0;
   OPJ_UINT32 l_tile_width,l_tile_height,l_nb_tiles_x,l_nb_tiles_y;
+#endif
 #if 0
   bResult = opj_read_header(
     dinfo,
@@ -1532,6 +1575,11 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
     dinfo,
     &image);
 #endif
+  if(!bResult)
+  {
+  opj_stream_destroy(cio);
+    return false;
+  }
   //image = opj_decode(dinfo, cio);
   //bResult = bResult && (image != 00);
   //bResult = bResult && opj_end_decompress(dinfo,cio);
@@ -1545,7 +1593,7 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
 #endif // OPENJPEG_MAJOR_VERSION == 1
 
   int reversible;
-  int mct;
+  int mct = 0;
 #if OPENJPEG_MAJOR_VERSION == 1
   opj_j2k_t* j2k = NULL;
   opj_jp2_t* jp2 = NULL;
@@ -1577,14 +1625,17 @@ bool JPEG2000Codec::GetHeaderInfo(const char * dummy_buffer, size_t buf_size, Tr
 #else
   bool b = false;
   bool lossless;
+  bool mctb;
   if( parameters.decod_format == JP2_CFMT )
-    b = parsejp2_imp( dummy_buffer, buf_size, &lossless);
+    b = parsejp2_imp( dummy_buffer, buf_size, &lossless, &mctb);
   else if( parameters.decod_format == J2K_CFMT )
-    b = parsej2k_imp( dummy_buffer, buf_size, &lossless);
+    b = parsej2k_imp( dummy_buffer, buf_size, &lossless, &mctb);
  
   reversible = 0;
-  if( b )
+  if( b ) {
     reversible = lossless;
+    mct = mctb;
+  }
 #endif
 #endif // OPENJPEG_MAJOR_VERSION == 1
   LossyFlag = !reversible;
@@ -1939,7 +1990,7 @@ bool JPEG2000Codec::AppendFrameEncode( std::ostream & out, const char * data, si
 {
   const unsigned int * dimensions = this->GetDimensions();
   const PixelFormat & pf = this->GetPixelFormat();
-  assert( datalen == dimensions[0] * dimensions[1] * pf.GetPixelSize() );
+  assert( datalen == dimensions[0] * dimensions[1] * pf.GetPixelSize() ); (void)pf;
 
   std::vector<char> rgbyteCompressed;
   rgbyteCompressed.resize(dimensions[0] * dimensions[1] * 4);
diff --git a/Source/MediaStorageAndFileFormat/gdcmJPEGCodec.h b/Source/MediaStorageAndFileFormat/gdcmJPEGCodec.h
index ff9955a..ce92edc 100644
--- a/Source/MediaStorageAndFileFormat/gdcmJPEGCodec.h
+++ b/Source/MediaStorageAndFileFormat/gdcmJPEGCodec.h
@@ -23,7 +23,7 @@ class PixelFormat;
 class TransferSyntax;
 /**
  * \brief JPEG codec
- * Class to do JPEG (8bits, 12bits, 16bits lossy & lossless).
+ * \details Class to do JPEG (8bits, 12bits, 16bits lossy & lossless).
  * It redispatch in between the different codec implementation: JPEG8Codec,
  * JPEG12Codec & JPEG16Codec
  * It also support inconsistency in between DICOM header and JPEG compressed stream
diff --git a/Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.h b/Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.h
index 1695b0d..a677916 100644
--- a/Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.h
+++ b/Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.h
@@ -25,7 +25,7 @@ class JPEGLSInternals;
  * \note codec that implement the JPEG-LS compression
  * this is an implementation of ImageCodec for JPEG-LS
  *
- * It uses the CharLS JPEG-LS implementation http://charls.codeplex.com
+ * It uses the CharLS JPEG-LS implementation https://github.com/team-charls/charls
  */
 class GDCM_EXPORT JPEGLSCodec : public ImageCodec
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.cxx b/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.cxx
index cc92fff..41ad327 100644
--- a/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.cxx
@@ -44,7 +44,8 @@ MeshPrimitive::MPType MeshPrimitive::GetMPType(const char * type)
   // Delete possible space as last character
   String<>  str( type );
   str.Trim();
-  const char * typeClear = str.Trim().c_str();
+  std::string typeClearStr = str.Trim();
+  const char * typeClear = typeClearStr.c_str();
 
   for(unsigned int i = 0; MPStrings[i] != 0; ++i)
   {
diff --git a/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.h b/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.h
index 55ba503..56c7d82 100644
--- a/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.h
+++ b/Source/MediaStorageAndFileFormat/gdcmMeshPrimitive.h
@@ -23,7 +23,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines surface mesh primitives.
-  * It is designed from surface mesh primitives macro.
+  * \details It is designed from surface mesh primitives macro.
   *
   * \see  PS 3.3 C.27.4
   */
diff --git a/Source/MediaStorageAndFileFormat/gdcmOverlay.cxx b/Source/MediaStorageAndFileFormat/gdcmOverlay.cxx
index 2e88e40..79538f3 100644
--- a/Source/MediaStorageAndFileFormat/gdcmOverlay.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmOverlay.cxx
@@ -352,7 +352,7 @@ Overlay::OverlayType Overlay::GetOverlayTypeFromString(const char *s)
       }
     }
   // could not find the proper type, maybe padded with \0 ?
-  if( strlen(s) == 1 )
+  if( s && strlen(s) == 1 )
     {
     for( int i = 0; i < n; ++i )
       {
diff --git a/Source/MediaStorageAndFileFormat/gdcmPGXCodec.h b/Source/MediaStorageAndFileFormat/gdcmPGXCodec.h
index f337b4e..969ad7e 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPGXCodec.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPGXCodec.h
@@ -21,7 +21,7 @@ namespace gdcm
 
 /**
  * \brief Class to do PGX
- * See PGX as used in JPEG 2000 implementation and reference images
+ * \details See PGX as used in JPEG 2000 implementation and reference images
  */
 class GDCM_EXPORT PGXCodec : public ImageCodec
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx b/Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx
index ac46394..6b0abf4 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx
@@ -199,7 +199,11 @@ bool PNMCodec::Read(const char *filename, DataElement &out) const
   char * buf = new char[pdlen];
   // is should be at right offset, just read!
   is.read(buf, len);
-  if( !is.eof() ) return false;
+  if( !is.eof() )
+  {
+    delete[] buf;
+    return false;
+  }
 
   out.SetTag( Tag(0x7fe0,0x0010) );
   VL::Type pdLenSize = (VL::Type)pdlen;
diff --git a/Source/MediaStorageAndFileFormat/gdcmPNMCodec.h b/Source/MediaStorageAndFileFormat/gdcmPNMCodec.h
index fb8f445..f71bd3b 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPNMCodec.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPNMCodec.h
@@ -21,7 +21,7 @@ namespace gdcm
 
 /**
  * \brief Class to do PNM
- * PNM is the Portable anymap file format. The main web page can be found at:
+ * \details PNM is the Portable anymap file format. The main web page can be found at:
  *   http://netpbm.sourceforge.net/
  * \note
  * Only support P5 & P6 PNM file (binary grayscale and binary rgb)
diff --git a/Source/MediaStorageAndFileFormat/gdcmPVRGCodec.h b/Source/MediaStorageAndFileFormat/gdcmPVRGCodec.h
index bb4b991..52a0a6f 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPVRGCodec.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPVRGCodec.h
@@ -21,6 +21,7 @@ namespace gdcm
 
 /**
  * \brief PVRGCodec
+ * \details 
  * \note pvrg is a broken implementation of the JPEG standard. It is known to
  * have a bug in the 16bits lossless implementation of the standard.
  *
diff --git a/Source/MediaStorageAndFileFormat/gdcmPixelFormat.h b/Source/MediaStorageAndFileFormat/gdcmPixelFormat.h
index 4eb820f..c316816 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPixelFormat.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPixelFormat.h
@@ -26,7 +26,7 @@ class TransferSyntax;
 
 /**
  * \brief PixelFormat
- * \note
+ * \details 
  * By default the Pixel Type will be instanciated with the following
  * parameters:
  * - SamplesPerPixel : 1
diff --git a/Source/MediaStorageAndFileFormat/gdcmPixmap.h b/Source/MediaStorageAndFileFormat/gdcmPixmap.h
index 96fb317..c049b3a 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPixmap.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPixmap.h
@@ -24,7 +24,7 @@ namespace gdcm
 
 /**
  * \brief Pixmap class
- * A bitmap based image. Used as parent for both IconImage and the main Pixel Data Image
+ * \details A bitmap based image. Used as parent for both IconImage and the main Pixel Data Image
  * It does not contains any World Space information (IPP, IOP)
  *
  * \see PixmapReader
diff --git a/Source/MediaStorageAndFileFormat/gdcmPixmapReader.h b/Source/MediaStorageAndFileFormat/gdcmPixmapReader.h
index 1c0b062..3056980 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPixmapReader.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPixmapReader.h
@@ -24,6 +24,7 @@ class ByteValue;
 class MediaStorage;
 /**
  * \brief PixmapReader
+ * \details 
  * \note its role is to convert the DICOM DataSet into a Pixmap
  * representation
  * By default it is also loading the lookup table and overlay when found as
diff --git a/Source/MediaStorageAndFileFormat/gdcmPixmapToPixmapFilter.h b/Source/MediaStorageAndFileFormat/gdcmPixmapToPixmapFilter.h
index 9ffe06c..6571724 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPixmapToPixmapFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPixmapToPixmapFilter.h
@@ -22,7 +22,7 @@ namespace gdcm
 class Pixmap;
 /**
  * \brief PixmapToPixmapFilter class
- * Super class for all filter taking an image and producing an output image
+ * \details Super class for all filter taking an image and producing an output image
  */
 class GDCM_EXPORT PixmapToPixmapFilter : public BitmapToBitmapFilter
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmPixmapWriter.h b/Source/MediaStorageAndFileFormat/gdcmPixmapWriter.h
index af55f08..642895c 100644
--- a/Source/MediaStorageAndFileFormat/gdcmPixmapWriter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmPixmapWriter.h
@@ -24,7 +24,7 @@ class StreamImageWriter;
 class Pixmap;
 /**
  * \brief PixmapWriter
- * This class will takes two inputs:
+ * \details This class will takes two inputs:
  * 1. The DICOM DataSet
  * 2. The Image input
  * It will override any info from the Image over the DataSet.
diff --git a/Source/MediaStorageAndFileFormat/gdcmRLECodec.cxx b/Source/MediaStorageAndFileFormat/gdcmRLECodec.cxx
index d2baa1f..5b4d328 100644
--- a/Source/MediaStorageAndFileFormat/gdcmRLECodec.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmRLECodec.cxx
@@ -503,7 +503,9 @@ bool RLECodec::Code(DataElement const &in, DataElement &out)
         ptrdiff_t llength = rle_encode(outbuf, n, ptr + y*dims[0], partition / dims[1] /*image_len*/);
         if( llength < 0 )
           {
-          std::cerr << "RLE compressor error" << std::endl;
+          gdcmErrorMacro( "RLE compressor error" );
+          delete[] buffer;
+          delete[] bufferrgb;
           return false;
           }
         assert( llength );
@@ -568,7 +570,7 @@ size_t RLECodec::DecodeFragment(Fragment const & frag, char *buffer, size_t llen
   is.write(mybuffer, bv.GetLength());
   delete[] mybuffer;
   std::stringstream os;
-  SetLength( llen );
+  SetLength( (unsigned long)llen );
 #if !defined(NDEBUG)
   const unsigned int * const dimensions = this->GetDimensions();
   const PixelFormat & pf = this->GetPixelFormat();
@@ -649,7 +651,7 @@ bool RLECodec::Decode(DataElement const &in, DataElement &out)
         gdcmDebugMacro( "RLE pb with frag: " << i );
         corruption = true;
       }
-      pos += llen;
+      pos += (unsigned long)llen;
       }
     if( !corruption )
       assert( pos == len );
diff --git a/Source/MediaStorageAndFileFormat/gdcmRescaler.h b/Source/MediaStorageAndFileFormat/gdcmRescaler.h
index fd3dbfc..6f42055 100644
--- a/Source/MediaStorageAndFileFormat/gdcmRescaler.h
+++ b/Source/MediaStorageAndFileFormat/gdcmRescaler.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
  * \brief Rescale class
- * This class is meant to apply the linear transform of Stored Pixel Value to
+ * \details This class is meant to apply the linear transform of Stored Pixel Value to
  * Real World Value.
  * This is mostly found in CT or PET dataset, where the value are stored using
  * one type, but need to be converted to another scale using a linear
diff --git a/Source/MediaStorageAndFileFormat/gdcmScanner.h b/Source/MediaStorageAndFileFormat/gdcmScanner.h
index 4107849..2657497 100644
--- a/Source/MediaStorageAndFileFormat/gdcmScanner.h
+++ b/Source/MediaStorageAndFileFormat/gdcmScanner.h
@@ -32,7 +32,7 @@ class StringFilter;
 
 /**
  * \brief Scanner
- * This filter is meant for quickly browsing a FileSet (a set of files on
+ * \details This filter is meant for quickly browsing a FileSet (a set of files on
  * disk). Special consideration are taken so as to read the mimimum amount of
  * information in each file in order to retrieve the user specified set of
  * DICOM Attribute.
diff --git a/Source/MediaStorageAndFileFormat/gdcmSegment.cxx b/Source/MediaStorageAndFileFormat/gdcmSegment.cxx
index 90f16d3..6898538 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSegment.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmSegment.cxx
@@ -40,7 +40,8 @@ Segment::ALGOType Segment::GetALGOType(const char * type)
   String<>  str( type );
   str.Trim();
 
-  const char * strClear = str.Trim().c_str();
+  std::string strClearStr = str.Trim();
+  const char * strClear = strClearStr.c_str();
 
   for(unsigned int i = 0; ALGOTypeStrings[i] != 0; ++i)
     {
diff --git a/Source/MediaStorageAndFileFormat/gdcmSegment.h b/Source/MediaStorageAndFileFormat/gdcmSegment.h
index 4d72fa3..78acfe4 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSegment.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSegment.h
@@ -25,7 +25,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines a segment.
-  * It mainly contains attributes of group 0x0062.
+  * \details It mainly contains attributes of group 0x0062.
   * In addition, it can be associated with surface.
   *
   * \see  PS 3.3 C.8.20.2 and C.8.23
diff --git a/Source/MediaStorageAndFileFormat/gdcmSegmentReader.h b/Source/MediaStorageAndFileFormat/gdcmSegmentReader.h
index 0b36f7b..68477ed 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSegmentReader.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSegmentReader.h
@@ -24,7 +24,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines a segment reader.
-  * It reads attributes of group 0x0062.
+  * \details It reads attributes of group 0x0062.
   *
   * \see  PS 3.3 C.8.20.2 and C.8.23
   */
diff --git a/Source/MediaStorageAndFileFormat/gdcmSegmentWriter.h b/Source/MediaStorageAndFileFormat/gdcmSegmentWriter.h
index bab1d5c..3b336f8 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSegmentWriter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSegmentWriter.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines a segment writer.
-  * It writes attributes of group 0x0062.
+  * \details It writes attributes of group 0x0062.
   *
   * \see  PS 3.3 C.8.20.2 and C.8.23
   */
diff --git a/Source/MediaStorageAndFileFormat/gdcmSimpleSubjectWatcher.h b/Source/MediaStorageAndFileFormat/gdcmSimpleSubjectWatcher.h
index 55250e7..2c55fd2 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSimpleSubjectWatcher.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSimpleSubjectWatcher.h
@@ -26,7 +26,7 @@ namespace gdcm
 class Event;
 /**
  * \brief SimpleSubjectWatcher
- * This is a typical Subject Watcher class. It will observe all events.
+ * \details This is a typical Subject Watcher class. It will observe all events.
  */
 class GDCM_EXPORT SimpleSubjectWatcher
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmSorter.h b/Source/MediaStorageAndFileFormat/gdcmSorter.h
index 64528d3..42f3d82 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSorter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSorter.h
@@ -27,7 +27,7 @@ class DataSet;
 
 /**
  * \brief Sorter
- * General class to do sorting using a custom function
+ * \details General class to do sorting using a custom function
  * You simply need to provide a function of type: Sorter::SortFunction
  *
  * \warning implementation details. For now there is no cache mechanism. Which means
diff --git a/Source/MediaStorageAndFileFormat/gdcmSpacing.h b/Source/MediaStorageAndFileFormat/gdcmSpacing.h
index 2ce74d7..f71299a 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSpacing.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSpacing.h
@@ -56,7 +56,7 @@ Ref:
 
 /**
  * \brief Class for Spacing
- *
+ * \details 
  * See PS 3.3-2008, Table C.7-11b IMAGE PIXEL MACRO ATTRIBUTES
 
 Ratio of the vertical size and horizontal size
diff --git a/Source/MediaStorageAndFileFormat/gdcmSplitMosaicFilter.h b/Source/MediaStorageAndFileFormat/gdcmSplitMosaicFilter.h
index 029fce5..717a4e8 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSplitMosaicFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSplitMosaicFilter.h
@@ -29,7 +29,7 @@ namespace gdcm
  */
 /**
  * \brief SplitMosaicFilter class
- * Class to reshuffle bytes for a SIEMENS Mosaic image
+ * \details Class to reshuffle bytes for a SIEMENS Mosaic image
  * Siemens CSA Image Header
  * CSA:= Common Siemens Architecture, sometimes also known as Common syngo Architecture
  *
diff --git a/Source/MediaStorageAndFileFormat/gdcmStrictScanner.h b/Source/MediaStorageAndFileFormat/gdcmStrictScanner.h
index c084e19..d10f628 100644
--- a/Source/MediaStorageAndFileFormat/gdcmStrictScanner.h
+++ b/Source/MediaStorageAndFileFormat/gdcmStrictScanner.h
@@ -32,7 +32,7 @@ class StringFilter;
 
 /**
  * \brief StrictScanner
- * This filter is meant for quickly browsing a FileSet (a set of files on
+ * \details This filter is meant for quickly browsing a FileSet (a set of files on
  * disk). Special consideration are taken so as to read the mimimum amount of
  * information in each file in order to retrieve the user specified set of
  * DICOM Attribute.
diff --git a/Source/MediaStorageAndFileFormat/gdcmStringFilter.h b/Source/MediaStorageAndFileFormat/gdcmStringFilter.h
index 5b999b0..3c70834 100644
--- a/Source/MediaStorageAndFileFormat/gdcmStringFilter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmStringFilter.h
@@ -23,7 +23,7 @@ namespace gdcm
 
 /**
  * \brief StringFilter
- * StringFilter is the class that make gdcm2.x looks more like gdcm1 and transform the binary blob
+ * \details StringFilter is the class that make gdcm2.x looks more like gdcm1 and transform the binary blob
  * contained in a DataElement into a string, typically this is a nice feature to have for wrapped language
  */
 class GDCM_EXPORT StringFilter
diff --git a/Source/MediaStorageAndFileFormat/gdcmSurface.cxx b/Source/MediaStorageAndFileFormat/gdcmSurface.cxx
index a248e8d..f7ed9f1 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSurface.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmSurface.cxx
@@ -41,7 +41,8 @@ Surface::STATES Surface::GetSTATES(const char * state)
   // Delete possible space as last character
   String<>  str( state );
   str.Trim();
-  const char * stateClear = str.Trim().c_str();
+  std::string stateClearStr = str.Trim();
+  const char * stateClear = stateClearStr.c_str();
 
   for(unsigned int i = 0; STATESStrings[i] != 0; ++i)
   {
@@ -87,7 +88,8 @@ Surface::VIEWType Surface::GetVIEWType(const char * type)
   // Delete possible space as last character
   String<>  str( type );
   str.Trim();
-  const char * typeClear = str.Trim().c_str();
+  std::string typeClearStr = str.Trim();
+  const char * typeClear = typeClearStr.c_str();
 
   for(unsigned int i = 0; VIEWStrings[i] != 0; ++i)
   {
diff --git a/Source/MediaStorageAndFileFormat/gdcmSurface.h b/Source/MediaStorageAndFileFormat/gdcmSurface.h
index 786d113..592470c 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSurface.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSurface.h
@@ -24,7 +24,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines a SURFACE IE.
-  * This members are taken from required surface mesh module attributes.
+  * \details This members are taken from required surface mesh module attributes.
   *
   * \see  PS 3.3 A.1.2.18 , A.57 and C.27
   */
diff --git a/Source/MediaStorageAndFileFormat/gdcmSurfaceHelper.h b/Source/MediaStorageAndFileFormat/gdcmSurfaceHelper.h
index 4a4e7b4..fe71ed3 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSurfaceHelper.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSurfaceHelper.h
@@ -24,7 +24,7 @@ namespace gdcm
 
 /**
  * \brief SurfaceHelper
- * Helper class for Surface object
+ * \details Helper class for Surface object
  */
 class GDCM_EXPORT SurfaceHelper
 {
diff --git a/Source/MediaStorageAndFileFormat/gdcmSurfaceReader.h b/Source/MediaStorageAndFileFormat/gdcmSurfaceReader.h
index 61793ae..ca79296 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSurfaceReader.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSurfaceReader.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines a SURFACE IE reader.
-  * It reads surface mesh module attributes.
+  * \details It reads surface mesh module attributes.
   *
   * \see  PS 3.3 A.1.2.18 , A.57 and C.27
   */
diff --git a/Source/MediaStorageAndFileFormat/gdcmSurfaceWriter.h b/Source/MediaStorageAndFileFormat/gdcmSurfaceWriter.h
index 20f6918..285390f 100644
--- a/Source/MediaStorageAndFileFormat/gdcmSurfaceWriter.h
+++ b/Source/MediaStorageAndFileFormat/gdcmSurfaceWriter.h
@@ -22,7 +22,7 @@ namespace gdcm
 
 /**
   * \brief  This class defines a SURFACE IE writer.
-  * It writes surface mesh module attributes.
+  * \details It writes surface mesh module attributes.
   *
   * \see  PS 3.3 A.1.2.18 , A.57 and C.27
   */
diff --git a/Source/MediaStorageAndFileFormat/gdcmTagPath.h b/Source/MediaStorageAndFileFormat/gdcmTagPath.h
index f98fa72..874f5cd 100644
--- a/Source/MediaStorageAndFileFormat/gdcmTagPath.h
+++ b/Source/MediaStorageAndFileFormat/gdcmTagPath.h
@@ -23,7 +23,7 @@ namespace gdcm
 
 /**
  * \brief class to handle a path of tag.
- *
+ * \details 
  * Any Resemblance to Existing XPath is Purely Coincidental
  * ftp://medical.nema.org/medical/dicom/supps/sup118_pc.pdf
  */
diff --git a/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.cxx b/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.cxx
index e46d0b6..7a47592 100644
--- a/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.cxx
+++ b/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.cxx
@@ -222,6 +222,8 @@ bool UIDGenerator::IsValid(const char *uid_)
     {
     return false;
     }
+  if( uid.size() < 3 ) return false;
+  if( uid[0] == '0' && uid[1] != '.' ) return false;
   std::string::size_type i = 0;
   for(; i < uid.size(); ++i)
     {
diff --git a/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.h b/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.h
index 8318d1d..a7b7129 100644
--- a/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.h
+++ b/Source/MediaStorageAndFileFormat/gdcmUIDGenerator.h
@@ -21,6 +21,7 @@ namespace gdcm
 
 /**
  * \brief Class for generating unique UID
+ * \details 
  * \note bla
  * Usage:
  * When constructing a Series or Study UID, user *has* to keep around the UID,
diff --git a/Source/MediaStorageAndFileFormat/gdcmUUIDGenerator.h b/Source/MediaStorageAndFileFormat/gdcmUUIDGenerator.h
index 222b51b..62f3f3e 100644
--- a/Source/MediaStorageAndFileFormat/gdcmUUIDGenerator.h
+++ b/Source/MediaStorageAndFileFormat/gdcmUUIDGenerator.h
@@ -21,7 +21,7 @@ namespace gdcm
 
 /**
  * \brief Class for generating unique UUID
- * generate DCE 1.1 uid
+ * \details generate DCE 1.1 uid
  */
 class GDCM_EXPORT UUIDGenerator
 {
diff --git a/Source/MessageExchangeDefinition/gdcmAAbortPDU.h b/Source/MessageExchangeDefinition/gdcmAAbortPDU.h
index 40adf54..489c000 100644
--- a/Source/MessageExchangeDefinition/gdcmAAbortPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmAAbortPDU.h
@@ -25,7 +25,7 @@ namespace network
 
 /**
  * \brief AAbortPDU
- * Table 9-26 A-ABORT PDU FIELDS
+ * \details Table 9-26 A-ABORT PDU FIELDS
  */
 class GDCM_EXPORT AAbortPDU : public BasePDU
 {
diff --git a/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.cxx b/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.cxx
index 939fe4a..95c0faa 100644
--- a/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.cxx
+++ b/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.cxx
@@ -41,14 +41,14 @@ void AAssociateACPDU::SetCalledAETitle(const char calledaetitle[16])
 {
   //size_t len = strlen( calledaetitle );
   //assert( len <= 16 ); // since forwared from AA-RQ no reason to be invalid
-  strncpy(Reserved11_26, calledaetitle, 16 );
+  memcpy(Reserved11_26, calledaetitle, 16 );
 }
 
 void AAssociateACPDU::SetCallingAETitle(const char callingaetitle[16])
 {
   //size_t len = strlen( callingaetitle );
   //assert( len <= 16 ); // since forwared from AA-RQ no reason to be invalid
-  strncpy(Reserved27_42, callingaetitle, 16 );
+  memcpy(Reserved27_42, callingaetitle, 16 );
 }
 
 std::istream &AAssociateACPDU::Read(std::istream &is)
diff --git a/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.h b/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.h
index 4e7134e..8a9e66c 100644
--- a/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmAAssociateACPDU.h
@@ -31,7 +31,7 @@ class AAssociateRQPDU;
 
 /**
  * \brief AAssociateACPDU
- * Table 9-17
+ * \details Table 9-17
  * ASSOCIATE-AC PDU fields
  */
 class AAssociateACPDU : public BasePDU
diff --git a/Source/MessageExchangeDefinition/gdcmAAssociateRJPDU.h b/Source/MessageExchangeDefinition/gdcmAAssociateRJPDU.h
index 8282716..c4f60de 100644
--- a/Source/MessageExchangeDefinition/gdcmAAssociateRJPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmAAssociateRJPDU.h
@@ -25,7 +25,7 @@ namespace network
 
 /**
  * \brief AAssociateRJPDU
- * Table 9-21
+ * \details Table 9-21
  * ASSOCIATE-RJ PDU FIELDS
  */
 class AAssociateRJPDU : public BasePDU
diff --git a/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.cxx b/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.cxx
index 74484ab..9786a25 100644
--- a/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.cxx
+++ b/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.cxx
@@ -226,7 +226,7 @@ void AAssociateRQPDU::SetCalledAETitle(const char calledaetitle[16])
   if( len <= 16 )
     {
     memset(CalledAETitle, ' ', sizeof(CalledAETitle));
-    strncpy(CalledAETitle, calledaetitle, len );
+    memcpy(CalledAETitle, calledaetitle, len );
     }
   // FIXME Need to check upper case
   // FIXME cannot set to only whitespaces
@@ -239,7 +239,7 @@ void AAssociateRQPDU::SetCallingAETitle(const char callingaetitle[16])
   if( len <= 16 )
     {
     memset(CallingAETitle, ' ', sizeof(CallingAETitle));
-    strncpy(CallingAETitle, callingaetitle, len );
+    memcpy(CallingAETitle, callingaetitle, len );
     }
   // FIXME Need to check upper case
   // FIXME cannot set to only whitespaces
diff --git a/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.h b/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.h
index 08309d5..668ea87 100644
--- a/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmAAssociateRQPDU.h
@@ -30,7 +30,7 @@ namespace network
 class AAssociateACPDU;
 /**
  * \brief AAssociateRQPDU
- * Table 9-11 ASSOCIATE-RQ PDU fields
+ * \details Table 9-11 ASSOCIATE-RQ PDU fields
  */
 class AAssociateRQPDU : public BasePDU
 {
diff --git a/Source/MessageExchangeDefinition/gdcmARTIMTimer.h b/Source/MessageExchangeDefinition/gdcmARTIMTimer.h
index 8b2bb2a..e62945a 100644
--- a/Source/MessageExchangeDefinition/gdcmARTIMTimer.h
+++ b/Source/MessageExchangeDefinition/gdcmARTIMTimer.h
@@ -21,7 +21,7 @@
 namespace gdcm {
   namespace network{
 /** \brief ARTIMTimer
- * This file contains the code for the ARTIM timer.
+ * \details This file contains the code for the ARTIM timer.
  *
  * Basically, the ARTIM timer will just get the wall time when it's started,
  * and then can be queried for the current time, and then can be stopped (ie,
diff --git a/Source/MessageExchangeDefinition/gdcmAReleaseRPPDU.h b/Source/MessageExchangeDefinition/gdcmAReleaseRPPDU.h
index 04aaabc..b74d471 100644
--- a/Source/MessageExchangeDefinition/gdcmAReleaseRPPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmAReleaseRPPDU.h
@@ -25,7 +25,7 @@ namespace network
 
 /**
  * \brief AReleaseRPPDU
- * Table 9-25
+ * \details Table 9-25
  * A-RELEASE-RP PDU fields
  */
 class AReleaseRPPDU : public BasePDU
diff --git a/Source/MessageExchangeDefinition/gdcmAReleaseRQPDU.h b/Source/MessageExchangeDefinition/gdcmAReleaseRQPDU.h
index fdb25ac..bdd7395 100644
--- a/Source/MessageExchangeDefinition/gdcmAReleaseRQPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmAReleaseRQPDU.h
@@ -25,7 +25,7 @@ namespace network
 
 /**
  * \brief AReleaseRQPDU
- * Table 9-24
+ * \details Table 9-24
  * A-RELEASE-RQ PDU FIELDS
  */
 class AReleaseRQPDU : public BasePDU
diff --git a/Source/MessageExchangeDefinition/gdcmAbstractSyntax.h b/Source/MessageExchangeDefinition/gdcmAbstractSyntax.h
index fa73b26..ac90b29 100644
--- a/Source/MessageExchangeDefinition/gdcmAbstractSyntax.h
+++ b/Source/MessageExchangeDefinition/gdcmAbstractSyntax.h
@@ -26,7 +26,7 @@ namespace network
 
 /**
  * \brief AbstractSyntax
- * Table 9-14
+ * \details Table 9-14
  * ABSTRACT SYNTAX SUB-ITEM FIELDS
  */
 class AbstractSyntax
diff --git a/Source/MessageExchangeDefinition/gdcmApplicationContext.h b/Source/MessageExchangeDefinition/gdcmApplicationContext.h
index 450afd8..39fb693 100644
--- a/Source/MessageExchangeDefinition/gdcmApplicationContext.h
+++ b/Source/MessageExchangeDefinition/gdcmApplicationContext.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief ApplicationContext
- * Table 9-12
+ * \details Table 9-12
  * APPLICATION CONTEXT ITEM FIELDS
  * \todo
  * Looks like Application Context can only be 64 bytes at max (see Figure 9-1 / PS 3.8 - 2009 )
diff --git a/Source/MessageExchangeDefinition/gdcmAsynchronousOperationsWindowSub.h b/Source/MessageExchangeDefinition/gdcmAsynchronousOperationsWindowSub.h
index 2f92683..a76db02 100644
--- a/Source/MessageExchangeDefinition/gdcmAsynchronousOperationsWindowSub.h
+++ b/Source/MessageExchangeDefinition/gdcmAsynchronousOperationsWindowSub.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief AsynchronousOperationsWindowSub
- * PS 3.7
+ * \details PS 3.7
  * Table D.3-7
  * ASYNCHRONOUS OPERATIONS WINDOW SUB-ITEM FIELDS
  * (A-ASSOCIATE-RQ)
diff --git a/Source/MessageExchangeDefinition/gdcmBaseCompositeMessage.h b/Source/MessageExchangeDefinition/gdcmBaseCompositeMessage.h
index 7ca0316..b737215 100644
--- a/Source/MessageExchangeDefinition/gdcmBaseCompositeMessage.h
+++ b/Source/MessageExchangeDefinition/gdcmBaseCompositeMessage.h
@@ -30,7 +30,7 @@ namespace gdcm
 class ULConnection;
 /**
  * \brief BaseCompositeMessage
- * The Composite events described in section 3.7-2009 of the DICOM standard all
+ * \details The Composite events described in section 3.7-2009 of the DICOM standard all
  * use their own messages.  These messages are constructed using Presentation
  * Data Values, from section 3.8-2009 of the standard, and then fill in
  * appropriate values in their datasets.
diff --git a/Source/MessageExchangeDefinition/gdcmBaseNormalizedMessage.h b/Source/MessageExchangeDefinition/gdcmBaseNormalizedMessage.h
index dd8c4c2..3c939d7 100644
--- a/Source/MessageExchangeDefinition/gdcmBaseNormalizedMessage.h
+++ b/Source/MessageExchangeDefinition/gdcmBaseNormalizedMessage.h
@@ -26,7 +26,7 @@ namespace gdcm
 class ULConnection;
 /**
  * \brief BaseNormalizedMessage
- * The Normalized events described in section 3.7-2011 of the DICOM standard all
+ * \details The Normalized events described in section 3.7-2011 of the DICOM standard all
  * use their own messages.  These messages are constructed using Presentation
  * Data Values, from section 3.8-2011 of the standard, and then fill in
  * appropriate values in their datasets.
diff --git a/Source/MessageExchangeDefinition/gdcmBasePDU.h b/Source/MessageExchangeDefinition/gdcmBasePDU.h
index a0c174d..98b641e 100644
--- a/Source/MessageExchangeDefinition/gdcmBasePDU.h
+++ b/Source/MessageExchangeDefinition/gdcmBasePDU.h
@@ -27,7 +27,7 @@ namespace network
 
 /**
  * \brief BasePDU
- * base class for PDUs
+ * \details base class for PDUs
  *
  * all PDUs start with the first ten bytes as specified:
  * 01 PDU type
diff --git a/Source/MessageExchangeDefinition/gdcmBaseQuery.h b/Source/MessageExchangeDefinition/gdcmBaseQuery.h
index 05542e9..4d48611 100644
--- a/Source/MessageExchangeDefinition/gdcmBaseQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmBaseQuery.h
@@ -34,7 +34,7 @@ namespace gdcm
     };
 /**
  * \brief BaseQuery
- * contains: a baseclass which will produce a dataset for all dimse messages
+ * \details contains: a baseclass which will produce a dataset for all dimse messages
  *
  *
  */
diff --git a/Source/MessageExchangeDefinition/gdcmBaseRootQuery.h b/Source/MessageExchangeDefinition/gdcmBaseRootQuery.h
index ae605d7..ee1f00a 100644
--- a/Source/MessageExchangeDefinition/gdcmBaseRootQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmBaseRootQuery.h
@@ -48,7 +48,7 @@ namespace gdcm
 
 /**
  * \brief BaseRootQuery
- * contains: a baseclass which will produce a dataset for c-find and c-move
+ * \details contains: a baseclass which will produce a dataset for c-find and c-move
  * with patient/study root
  *
  * This class contains the functionality used in patient c-find and c-move
diff --git a/Source/MessageExchangeDefinition/gdcmCEchoMessages.h b/Source/MessageExchangeDefinition/gdcmCEchoMessages.h
index 2c52c56..ec72134 100644
--- a/Source/MessageExchangeDefinition/gdcmCEchoMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmCEchoMessages.h
@@ -27,7 +27,7 @@ class ULConnection;
 
 /**
  * \brief CEchoRQ
- * this file defines the messages for the cecho action
+ * \details this file defines the messages for the cecho action
  */
 class CEchoRQ : public BaseCompositeMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmCFindMessages.h b/Source/MessageExchangeDefinition/gdcmCFindMessages.h
index 18b3a14..02c63ee 100644
--- a/Source/MessageExchangeDefinition/gdcmCFindMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmCFindMessages.h
@@ -28,7 +28,7 @@ namespace network
 
 /**
  * \brief CFindRQ
- * this file defines the messages for the cfind action
+ * \details this file defines the messages for the cfind action
  */
 class CFindRQ : public BaseCompositeMessage
 {
diff --git a/Source/MessageExchangeDefinition/gdcmCMoveMessages.h b/Source/MessageExchangeDefinition/gdcmCMoveMessages.h
index 8452956..b6edfa6 100644
--- a/Source/MessageExchangeDefinition/gdcmCMoveMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmCMoveMessages.h
@@ -26,7 +26,7 @@ namespace gdcm{
   class ULConnection;
 /**
  * \brief CMoveRQ
- * this file defines the messages for the cmove action
+ * \details this file defines the messages for the cmove action
  */
 class CMoveRQ : public BaseCompositeMessage {
       //this class will fulfill the inheritance,
diff --git a/Source/MessageExchangeDefinition/gdcmCStoreMessages.h b/Source/MessageExchangeDefinition/gdcmCStoreMessages.h
index 6a34b8a..76ccaad 100644
--- a/Source/MessageExchangeDefinition/gdcmCStoreMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmCStoreMessages.h
@@ -26,7 +26,7 @@ class File;
     class BasePDU;
 /**
  * \brief CStoreRQ
- * this file defines the messages for the cecho action
+ * \details this file defines the messages for the cecho action
  */
 class CStoreRQ : public BaseCompositeMessage {
       std::vector<PresentationDataValue> ConstructPDV(const ULConnection &inConnection, const BaseRootQuery* inRootQuery);//to fulfill the virtual contract
diff --git a/Source/MessageExchangeDefinition/gdcmCompositeMessageFactory.h b/Source/MessageExchangeDefinition/gdcmCompositeMessageFactory.h
index b3b63ce..5f39801 100644
--- a/Source/MessageExchangeDefinition/gdcmCompositeMessageFactory.h
+++ b/Source/MessageExchangeDefinition/gdcmCompositeMessageFactory.h
@@ -28,7 +28,7 @@ namespace gdcm {
     class BasePDU;
 /**
  * \brief CompositeMessageFactory
- * This class constructs PDataPDUs, but that have been specifically constructed for the
+ * \details This class constructs PDataPDUs, but that have been specifically constructed for the
  * composite DICOM services (C-Echo, C-Find, C-Get, C-Move, and C-Store).  It will also handle
  * parsing the incoming data to determine which of the CompositePDUs the incoming data is, and
  * so therefore allowing the scu to determine what to do with incoming data (if acting as
diff --git a/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.cxx b/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.cxx
index 68db84d..26f438f 100644
--- a/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.cxx
+++ b/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.cxx
@@ -410,14 +410,19 @@ bool CompositeNetworkFunctions::CStore( const char *remote, uint16_t portno,
       // PS 3.4 - 2011
       // Table W.4-1 C-STORE RESPONSE STATUS VALUES
       const uint16_t theVal = at.GetValue();
-      switch( theVal )
+      // http://dicom.nema.org/medical/dicom/current/output/chtml/part07/chapter_C.html
+      if( theVal == 0x0 ) // Sucess
         {
-      case 0x0:
         gdcmDebugMacro( "C-Store of file " << filename << " was successful." );
-        break;
-      case 0xA700:
-      case 0xA900:
-      case 0xC000:
+        }
+      else if ( theVal == 0x0001 || (theVal & 0xf000) == 0xb000 ) // Warning
+        {
+        gdcmWarningMacro( "C-Store of file " << filename << " had a warning." );
+        }
+      else if ( (theVal & 0xf000) == 0xa000 || (theVal & 0xf000) == 0xc000 ) // Failure
+      //case 0xA700:
+      //case 0xA900:
+      //case 0xC000:
           {
           // TODO: value from 0901 ?
           gdcmErrorMacro( "C-Store of file " << filename << " was a failure." );
@@ -428,11 +433,8 @@ bool CompositeNetworkFunctions::CStore( const char *remote, uint16_t portno,
           gdcmErrorMacro( "Response Status: " << themsg );
           ret = false; // at least one file was not sent correctly
           }
-        break;
-      default:
-        gdcmErrorMacro( "Unhandle error code: " << theVal );
-        gdcmAssertAlwaysMacro( 0 );
-        }
+       else
+        gdcmWarningMacro( "Unhandle error code: " << theVal );
       theManager.InvokeEvent( IterationEvent() );
       }
     }
diff --git a/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.h b/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.h
index 321680a..c380f88 100644
--- a/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.h
+++ b/Source/MessageExchangeDefinition/gdcmCompositeNetworkFunctions.h
@@ -28,7 +28,7 @@ namespace gdcm
 {
 /**
  * \brief Composite Network Functions
- * These functions provide a generic API to the DICOM functions implemented in
+ * \details These functions provide a generic API to the DICOM functions implemented in
  * GDCM.
  * Advanced users can use this code as a template for building their own
  * versions of these functions (for instance, to provide progress bars or some
diff --git a/Source/MessageExchangeDefinition/gdcmDIMSE.h b/Source/MessageExchangeDefinition/gdcmDIMSE.h
index 57f8aaa..bd4f852 100644
--- a/Source/MessageExchangeDefinition/gdcmDIMSE.h
+++ b/Source/MessageExchangeDefinition/gdcmDIMSE.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief DIMSE
- * PS 3.7 - 2009
+ * \details PS 3.7 - 2009
  * Annex E Command Dictionary (Normative)
  * E.1 REGISTRY OF DICOM COMMAND ELEMENTS
  * Table E.1-1
diff --git a/Source/MessageExchangeDefinition/gdcmFindPatientRootQuery.h b/Source/MessageExchangeDefinition/gdcmFindPatientRootQuery.h
index 0011544..0863fcb 100644
--- a/Source/MessageExchangeDefinition/gdcmFindPatientRootQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmFindPatientRootQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief PatientRootQuery
- * contains: the class which will produce a dataset for c-find with patient root
+ * \details contains: the class which will produce a dataset for c-find with patient root
  */
 class GDCM_EXPORT FindPatientRootQuery : public BaseRootQuery
 {
diff --git a/Source/MessageExchangeDefinition/gdcmFindStudyRootQuery.h b/Source/MessageExchangeDefinition/gdcmFindStudyRootQuery.h
index 4dfd8d3..a91e95d 100644
--- a/Source/MessageExchangeDefinition/gdcmFindStudyRootQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmFindStudyRootQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief FindStudyRootQuery
- * contains: the class which will produce a dataset for C-FIND with study root
+ * \details contains: the class which will produce a dataset for C-FIND with study root
  */
 class GDCM_EXPORT FindStudyRootQuery : public BaseRootQuery
 {
diff --git a/Source/MessageExchangeDefinition/gdcmImplementationClassUIDSub.h b/Source/MessageExchangeDefinition/gdcmImplementationClassUIDSub.h
index 3c5c442..815eca1 100644
--- a/Source/MessageExchangeDefinition/gdcmImplementationClassUIDSub.h
+++ b/Source/MessageExchangeDefinition/gdcmImplementationClassUIDSub.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief ImplementationClassUIDSub
- * PS 3.7
+ * \details PS 3.7
  * Table D.3-1
  * IMPLEMENTATION CLASS UID SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
  */
diff --git a/Source/MessageExchangeDefinition/gdcmImplementationUIDSub.h b/Source/MessageExchangeDefinition/gdcmImplementationUIDSub.h
index 74ea5c9..c8f4736 100644
--- a/Source/MessageExchangeDefinition/gdcmImplementationUIDSub.h
+++ b/Source/MessageExchangeDefinition/gdcmImplementationUIDSub.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief ImplementationUIDSub
- * Table D.3-2
+ * \details Table D.3-2
  * IMPLEMENTATION UID SUB-ITEM FIELDS (A-ASSOCIATE-AC)
  */
 class GDCM_EXPORT ImplementationUIDSub
diff --git a/Source/MessageExchangeDefinition/gdcmImplementationVersionNameSub.h b/Source/MessageExchangeDefinition/gdcmImplementationVersionNameSub.h
index 451ed4b..b3c568d 100644
--- a/Source/MessageExchangeDefinition/gdcmImplementationVersionNameSub.h
+++ b/Source/MessageExchangeDefinition/gdcmImplementationVersionNameSub.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief ImplementationVersionNameSub
- * Table D.3-3
+ * \details Table D.3-3
  * IMPLEMENTATION VERSION NAME SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
  */
 class ImplementationVersionNameSub
diff --git a/Source/MessageExchangeDefinition/gdcmMaximumLengthSub.h b/Source/MessageExchangeDefinition/gdcmMaximumLengthSub.h
index d858912..683d408 100644
--- a/Source/MessageExchangeDefinition/gdcmMaximumLengthSub.h
+++ b/Source/MessageExchangeDefinition/gdcmMaximumLengthSub.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief MaximumLengthSub
- * Annex D
+ * \details Annex D
  * Table D.1-1
  * MAXIMUM LENGTH SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
  *
diff --git a/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepCreateQuery.h b/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepCreateQuery.h
index 67a773e..b17faf6 100644
--- a/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepCreateQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepCreateQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief ModalityPerformedProcedureStepCreateQuery
- * contains: the class which will produce a dataset for n-create for Modality Performed Procedure Step sop class
+ * \details contains: the class which will produce a dataset for n-create for Modality Performed Procedure Step sop class
  */
 class GDCM_EXPORT ModalityPerformedProcedureStepCreateQuery : public BaseQuery{
   friend class QueryFactory;
diff --git a/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepSetQuery.h b/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepSetQuery.h
index e8662d8..576ef68 100644
--- a/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepSetQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmModalityPerformedProcedureStepSetQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief ModalityPerformedProcedureStepSetQuery
- * contains: the class which will produce a dataset for n-set for Modality Performed Procedure Step sop class
+ * \details contains: the class which will produce a dataset for n-set for Modality Performed Procedure Step sop class
  */
 class GDCM_EXPORT ModalityPerformedProcedureStepSetQuery : public BaseQuery{
   friend class QueryFactory;
diff --git a/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.cxx b/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.cxx
index 29db031..a076e86 100644
--- a/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.cxx
+++ b/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.cxx
@@ -51,6 +51,7 @@ void MovePatientRootQuery::InitializeDataSet(const EQueryLevel& inQueryLevel)
       Attribute<0x20, 0xd> Studylevel = { "" };
       mDataSet.Insert( Studylevel.GetAsDataElement() );
       }
+    break;
   case eImage:
       {
       Attribute<0x8,0x52> at1 = { "IMAGE " };
@@ -83,11 +84,11 @@ std::vector<Tag> MovePatientRootQuery::GetTagListByLevel(const EQueryLevel& inQu
   case eImage:
     return mImage.GetUniqueTags(ePatientRootType);
   default: //have to return _something_ if a query level isn't given
-	  assert(0);
-	  {
-		  std::vector<Tag> empty;
-		  return empty;
-	  }
+    assert(0);
+      {
+      std::vector<Tag> empty;
+      return empty;
+      }
     }
 }
 
diff --git a/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.h b/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.h
index 186b48d..6c29c74 100644
--- a/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmMovePatientRootQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief MovePatientRootQuery
- * contains: the class which will produce a dataset for c-move with patient root
+ * \details contains: the class which will produce a dataset for c-move with patient root
  */
 class GDCM_EXPORT MovePatientRootQuery : public BaseRootQuery
 {
diff --git a/Source/MessageExchangeDefinition/gdcmMoveStudyRootQuery.h b/Source/MessageExchangeDefinition/gdcmMoveStudyRootQuery.h
index 787539e..90c9b48 100644
--- a/Source/MessageExchangeDefinition/gdcmMoveStudyRootQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmMoveStudyRootQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief MoveStudyRootQuery
- * contains: the class which will produce a dataset for C-MOVE with study root
+ * \details contains: the class which will produce a dataset for C-MOVE with study root
  */
 class GDCM_EXPORT MoveStudyRootQuery : public BaseRootQuery
 {
diff --git a/Source/MessageExchangeDefinition/gdcmNActionMessages.h b/Source/MessageExchangeDefinition/gdcmNActionMessages.h
index 04a565f..d8a3ba1 100644
--- a/Source/MessageExchangeDefinition/gdcmNActionMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmNActionMessages.h
@@ -23,7 +23,7 @@ class ULConnection;
 
 /**
  * \brief NActionRQ
- * this file defines the messages for the NAction action
+ * \details this file defines the messages for the NAction action
  */
 class NActionRQ : public BaseNormalizedMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmNCreateMessages.h b/Source/MessageExchangeDefinition/gdcmNCreateMessages.h
index 702c609..dcb35df 100644
--- a/Source/MessageExchangeDefinition/gdcmNCreateMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmNCreateMessages.h
@@ -23,7 +23,7 @@ class ULConnection;
 
 /**
  * \brief NCreateRQ
- * this file defines the messages for the ncreate action
+ * \details this file defines the messages for the ncreate action
  */
 class NCreateRQ : public BaseNormalizedMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmNDeleteMessages.h b/Source/MessageExchangeDefinition/gdcmNDeleteMessages.h
index 9d56ea7..3bcdd53 100644
--- a/Source/MessageExchangeDefinition/gdcmNDeleteMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmNDeleteMessages.h
@@ -23,7 +23,7 @@ class ULConnection;
 
 /**
  * \brief NDeleteRQ
- * this file defines the messages for the ndelete action
+ * \details this file defines the messages for the ndelete action
  */
 class NDeleteRQ : public BaseNormalizedMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmNEventReportMessages.h b/Source/MessageExchangeDefinition/gdcmNEventReportMessages.h
index 7dc0e84..41386da 100644
--- a/Source/MessageExchangeDefinition/gdcmNEventReportMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmNEventReportMessages.h
@@ -23,7 +23,7 @@ class ULConnection;
 
 /**
  * \brief NEventReportRQ
- * this file defines the messages for the neventreport action
+ * \details this file defines the messages for the neventreport action
  */
 class NEventReportRQ : public BaseNormalizedMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmNGetMessages.h b/Source/MessageExchangeDefinition/gdcmNGetMessages.h
index 3f57097..f4ed13c 100644
--- a/Source/MessageExchangeDefinition/gdcmNGetMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmNGetMessages.h
@@ -23,7 +23,7 @@ class ULConnection;
 
 /**
  * \brief NGetRQ
- * this file defines the messages for the nget action
+ * \details this file defines the messages for the nget action
  */
 class NGetRQ : public BaseNormalizedMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmNSetMessages.h b/Source/MessageExchangeDefinition/gdcmNSetMessages.h
index 9e49b89..e0fc80e 100644
--- a/Source/MessageExchangeDefinition/gdcmNSetMessages.h
+++ b/Source/MessageExchangeDefinition/gdcmNSetMessages.h
@@ -23,7 +23,7 @@ class ULConnection;
 
 /**
  * \brief NSetRQ
- * this file defines the messages for the nset action
+ * \details this file defines the messages for the nset action
  */
 class NSetRQ : public BaseNormalizedMessage {
     public:
diff --git a/Source/MessageExchangeDefinition/gdcmNormalizedNetworkFunctions.h b/Source/MessageExchangeDefinition/gdcmNormalizedNetworkFunctions.h
index f17b495..cde19f2 100644
--- a/Source/MessageExchangeDefinition/gdcmNormalizedNetworkFunctions.h
+++ b/Source/MessageExchangeDefinition/gdcmNormalizedNetworkFunctions.h
@@ -24,7 +24,7 @@ namespace gdcm
 {
 /**
  * \brief Normalized Network Functions
- * These functions provide a generic API to the DICOM functions implemented in
+ * \details These functions provide a generic API to the DICOM functions implemented in
  * GDCM.
  * Advanced users can use this code as a template for building their own
  * versions of these functions (for instance, to provide progress bars or some
diff --git a/Source/MessageExchangeDefinition/gdcmPDUFactory.h b/Source/MessageExchangeDefinition/gdcmPDUFactory.h
index 64734bb..d0c77ec 100644
--- a/Source/MessageExchangeDefinition/gdcmPDUFactory.h
+++ b/Source/MessageExchangeDefinition/gdcmPDUFactory.h
@@ -32,7 +32,7 @@ namespace gdcm{
 
 /**
  * \brief PDUFactory basically, given an initial byte, construct the
- * appropriate PDU. This way, the event loop doesn't have to know about all
+ * \details appropriate PDU. This way, the event loop doesn't have to know about all
  * the different PDU types.
  */
   class PDUFactory {
diff --git a/Source/MessageExchangeDefinition/gdcmPDataTFPDU.h b/Source/MessageExchangeDefinition/gdcmPDataTFPDU.h
index d867e02..9f832c3 100644
--- a/Source/MessageExchangeDefinition/gdcmPDataTFPDU.h
+++ b/Source/MessageExchangeDefinition/gdcmPDataTFPDU.h
@@ -27,7 +27,7 @@ namespace network
 
 /**
  * \brief PDataTFPDU
- * Table 9-22
+ * \details Table 9-22
  * P-DATA-TF PDU FIELDS
  */
 class GDCM_EXPORT PDataTFPDU : public BasePDU
diff --git a/Source/MessageExchangeDefinition/gdcmPresentationContextAC.h b/Source/MessageExchangeDefinition/gdcmPresentationContextAC.h
index 9e7fe41..a412fc6 100644
--- a/Source/MessageExchangeDefinition/gdcmPresentationContextAC.h
+++ b/Source/MessageExchangeDefinition/gdcmPresentationContextAC.h
@@ -25,7 +25,7 @@ namespace network
 
 /**
  * \brief PresentationContextAC
- * Table 9-18
+ * \details Table 9-18
  * PRESENTATION CONTEXT ITEM FIELDS
  * \see PresentationContext
  */
diff --git a/Source/MessageExchangeDefinition/gdcmPresentationContextGenerator.h b/Source/MessageExchangeDefinition/gdcmPresentationContextGenerator.h
index 847e8d1..2497bc4 100644
--- a/Source/MessageExchangeDefinition/gdcmPresentationContextGenerator.h
+++ b/Source/MessageExchangeDefinition/gdcmPresentationContextGenerator.h
@@ -24,7 +24,7 @@ class File;
 
 /**
  * \brief PresentationContextGenerator
- * This class is responsible for generating the proper PresentationContext that
+ * \details This class is responsible for generating the proper PresentationContext that
  * will be used in subsequent operation during a DICOM Query/Retrieve
  * association. The step of the association is very sensible as special care
  * need to be taken to explicitly define what instance are going to be send
diff --git a/Source/MessageExchangeDefinition/gdcmPresentationContextRQ.h b/Source/MessageExchangeDefinition/gdcmPresentationContextRQ.h
index 6de57dc..992c0a4 100644
--- a/Source/MessageExchangeDefinition/gdcmPresentationContextRQ.h
+++ b/Source/MessageExchangeDefinition/gdcmPresentationContextRQ.h
@@ -27,7 +27,7 @@ namespace network
 
 /**
  * \brief PresentationContextRQ
- * Table 9-13
+ * \details Table 9-13
  * PRESENTATION CONTEXT ITEM FIELDS
  * \see PresentationContextAC
  */
diff --git a/Source/MessageExchangeDefinition/gdcmPresentationDataValue.h b/Source/MessageExchangeDefinition/gdcmPresentationDataValue.h
index a2dbcf8..b20ceff 100644
--- a/Source/MessageExchangeDefinition/gdcmPresentationDataValue.h
+++ b/Source/MessageExchangeDefinition/gdcmPresentationDataValue.h
@@ -26,7 +26,7 @@ namespace network
 
 /**
  * \brief PresentationDataValue
- * Table 9-23
+ * \details Table 9-23
  * PRESENTATION-DATA-VALUE ITEM FIELDS
  */
 class GDCM_EXPORT PresentationDataValue
diff --git a/Source/MessageExchangeDefinition/gdcmQueryBase.h b/Source/MessageExchangeDefinition/gdcmQueryBase.h
index bd035c3..a0a9164 100644
--- a/Source/MessageExchangeDefinition/gdcmQueryBase.h
+++ b/Source/MessageExchangeDefinition/gdcmQueryBase.h
@@ -33,7 +33,7 @@ namespace gdcm
 
 /**
  * \brief QueryBase
- * contains: the base class for constructing a query dataset for a C-FIND and a
+ * \details contains: the base class for constructing a query dataset for a C-FIND and a
  * C-MOVE
  *
  * There are four levels of C-FIND and C-MOVE query:
diff --git a/Source/MessageExchangeDefinition/gdcmQueryFactory.h b/Source/MessageExchangeDefinition/gdcmQueryFactory.h
index 1a06015..378f454 100644
--- a/Source/MessageExchangeDefinition/gdcmQueryFactory.h
+++ b/Source/MessageExchangeDefinition/gdcmQueryFactory.h
@@ -46,7 +46,7 @@ namespace gdcm{
 /**
  * \brief QueryFactory.h
  * \note
- * contains: a class to produce a query based off of user-entered information
+ * \details contains: a class to produce a query based off of user-entered information
  *
  * Essentially, this class is used to construct a query based off of user input
  * (typically from the command line; if in code directly, the query itself
diff --git a/Source/MessageExchangeDefinition/gdcmQueryImage.h b/Source/MessageExchangeDefinition/gdcmQueryImage.h
index 899f038..8712e2d 100644
--- a/Source/MessageExchangeDefinition/gdcmQueryImage.h
+++ b/Source/MessageExchangeDefinition/gdcmQueryImage.h
@@ -25,7 +25,7 @@ namespace gdcm
 {
 /**
  * \brief QueryImage
- * contains: class to construct an image-based query for C-FIND and C-MOVE
+ * \details contains: class to construct an image-based query for C-FIND and C-MOVE
  */
 class GDCM_EXPORT QueryImage : public QueryBase
 {
diff --git a/Source/MessageExchangeDefinition/gdcmQueryPatient.h b/Source/MessageExchangeDefinition/gdcmQueryPatient.h
index da46589..73e18ce 100644
--- a/Source/MessageExchangeDefinition/gdcmQueryPatient.h
+++ b/Source/MessageExchangeDefinition/gdcmQueryPatient.h
@@ -24,7 +24,7 @@ namespace gdcm
 {
 /**
  * \brief QueryPatient
- * contains: class to construct a patient-based query for c-find and c-move
+ * \details contains: class to construct a patient-based query for c-find and c-move
  */
 class GDCM_EXPORT QueryPatient : public QueryBase
 {
diff --git a/Source/MessageExchangeDefinition/gdcmQuerySeries.h b/Source/MessageExchangeDefinition/gdcmQuerySeries.h
index fe7f951..3f6ce4c 100644
--- a/Source/MessageExchangeDefinition/gdcmQuerySeries.h
+++ b/Source/MessageExchangeDefinition/gdcmQuerySeries.h
@@ -24,7 +24,7 @@ namespace gdcm
 {
 /**
  * \brief QuerySeries
- * contains: class to construct a series-based query for c-find and c-move
+ * \details contains: class to construct a series-based query for c-find and c-move
  */
 class GDCM_EXPORT QuerySeries : public QueryBase
 {
diff --git a/Source/MessageExchangeDefinition/gdcmQueryStudy.h b/Source/MessageExchangeDefinition/gdcmQueryStudy.h
index 51d3546..2775dcd 100644
--- a/Source/MessageExchangeDefinition/gdcmQueryStudy.h
+++ b/Source/MessageExchangeDefinition/gdcmQueryStudy.h
@@ -24,7 +24,7 @@ namespace gdcm
 {
 /**
  * \brief QueryStudy.h
- * contains: class to construct a study-based query for C-FIND and C-MOVE
+ * \details contains: class to construct a study-based query for C-FIND and C-MOVE
  */
 class GDCM_EXPORT QueryStudy : public QueryBase
 {
diff --git a/Source/MessageExchangeDefinition/gdcmRoleSelectionSub.h b/Source/MessageExchangeDefinition/gdcmRoleSelectionSub.h
index de964aa..b47a442 100644
--- a/Source/MessageExchangeDefinition/gdcmRoleSelectionSub.h
+++ b/Source/MessageExchangeDefinition/gdcmRoleSelectionSub.h
@@ -24,7 +24,7 @@ namespace network
 
 /**
  * \brief RoleSelectionSub
- * PS 3.7
+ * \details PS 3.7
  * Table D.3-9
  * SCP/SCU ROLE SELECTION SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
  */
diff --git a/Source/MessageExchangeDefinition/gdcmSOPClassExtendedNegociationSub.h b/Source/MessageExchangeDefinition/gdcmSOPClassExtendedNegociationSub.h
index fd2024d..3b483e9 100644
--- a/Source/MessageExchangeDefinition/gdcmSOPClassExtendedNegociationSub.h
+++ b/Source/MessageExchangeDefinition/gdcmSOPClassExtendedNegociationSub.h
@@ -23,7 +23,7 @@ namespace network
 
 /**
  * \brief SOPClassExtendedNegociationSub
- * PS 3.7
+ * \details PS 3.7
  * Table D.3-11
  * SOP CLASS EXTENDED NEGOTIATION SUB-ITEM FIELDS
  * (A-ASSOCIATE-RQ and A-ASSOCIATE-AC)
diff --git a/Source/MessageExchangeDefinition/gdcmServiceClassApplicationInformation.h b/Source/MessageExchangeDefinition/gdcmServiceClassApplicationInformation.h
index bd8dcb9..38161c2 100644
--- a/Source/MessageExchangeDefinition/gdcmServiceClassApplicationInformation.h
+++ b/Source/MessageExchangeDefinition/gdcmServiceClassApplicationInformation.h
@@ -23,7 +23,7 @@ namespace network
 {
 
 /**
- * PS 3.4
+ * \details PS 3.4
  * Table B.3-1
  * SERVICE-CLASS-APPLICATION-INFORMATION (A-ASSOCIATE-RQ)
  */
diff --git a/Source/MessageExchangeDefinition/gdcmTransferSyntaxSub.h b/Source/MessageExchangeDefinition/gdcmTransferSyntaxSub.h
index 01c9114..c4cbabd 100644
--- a/Source/MessageExchangeDefinition/gdcmTransferSyntaxSub.h
+++ b/Source/MessageExchangeDefinition/gdcmTransferSyntaxSub.h
@@ -26,7 +26,7 @@ namespace network
 
 /**
  * \brief TransferSyntaxSub
- * Table 9-15
+ * \details Table 9-15
  * TRANSFER SYNTAX SUB-ITEM FIELDS
  *
  * TODO what is the goal of :
diff --git a/Source/MessageExchangeDefinition/gdcmULAction.h b/Source/MessageExchangeDefinition/gdcmULAction.h
index 63a8084..a9a2b16 100644
--- a/Source/MessageExchangeDefinition/gdcmULAction.h
+++ b/Source/MessageExchangeDefinition/gdcmULAction.h
@@ -28,7 +28,7 @@ class Subject;
 
 /**
  * \brief ULAction
- * A ULConnection in a given ULState can perform certain ULActions.  This base class
+ * \details A ULConnection in a given ULState can perform certain ULActions.  This base class
  * provides the interface for running those ULActions on a given ULConnection.
  *
  * Essentially, the ULConnectionManager will take this object, determined from the current
diff --git a/Source/MessageExchangeDefinition/gdcmULActionDT.cxx b/Source/MessageExchangeDefinition/gdcmULActionDT.cxx
index 3dff74c..cf774ef 100644
--- a/Source/MessageExchangeDefinition/gdcmULActionDT.cxx
+++ b/Source/MessageExchangeDefinition/gdcmULActionDT.cxx
@@ -206,50 +206,55 @@ EStateID ULActionDT1::PerformAction(Subject *s, ULEvent& inEvent, ULConnection&
 
   std::istream * pStream = inEvent.GetIStream() ;
   if ( pStream )
-  {
-	  uint8_t prescontid = dynamic_cast<PDataTFPDU*>(theDataPDUs[0])->GetPresentationDataValue(0).GetPresentationContextID();
-	  size_t maxpdu = 16378;
-	  maxpdu = inConnection.GetMaxPDUSize() - 6;
-	  pStream->seekg( 0, std::ios::beg );
-	  pStream->seekg( 0, std::ios::end );
-	  std::streampos len = pStream->tellg();
-	  char * contents = new char [maxpdu];
-	  std::streampos cur = inEvent.GetDataSetPos() ;
-	  pStream->seekg( cur );
-	  PresentationDataValue thePDV;
-	  PDataTFPDU basePDU ;
-	  while( cur < len )
-	  {
-		  size_t remaining = std::min( maxpdu , (size_t)(len - cur) );
-		  pStream->read( contents, remaining );
-		  std::string sub( contents, remaining );
-		  std::string UIDString;
-		  thePDV.SetPresentationContextID( prescontid );
-		  thePDV.SetBlob( sub );
-
-		  if( remaining == maxpdu )
-			  thePDV.SetMessageHeader( 0 );
-		  else
-			  thePDV.SetMessageHeader( 2 );
-
-		  cur += remaining;
-		  basePDU = PDataTFPDU();
-		  basePDU.AddPresentationDataValue( thePDV );
-		  basePDU.Write(*inConnection.GetProtocol());
-		  Progress += progresstick;
-		  ProgressEvent pe;
-		  pe.SetProgress( Progress );
-		  s->InvokeEvent( pe );
-
-		  //if( !inConnection.GetProtocol()->good() );
-		  //  {
-		  //  throw new Exception("Protocol is not good.");
-		  //  return eStaDoesNotExist;
-		  //  }
-		  inConnection.GetProtocol()->flush();
-	  }
-	  delete [] contents ;
-  }
+    {
+    PDataTFPDU* dataPDU = dynamic_cast<PDataTFPDU*>(theDataPDUs[0]);
+    if (dataPDU == NULL)
+      {
+      throw Exception("Data sending event PDU malformed.");
+      }
+    uint8_t prescontid = dataPDU->GetPresentationDataValue(0).GetPresentationContextID();
+    size_t maxpdu = 16378;
+    maxpdu = inConnection.GetMaxPDUSize() - 6;
+    pStream->seekg( 0, std::ios::beg );
+    pStream->seekg( 0, std::ios::end );
+    std::streampos len = pStream->tellg();
+    char * contents = new char [maxpdu];
+    std::streampos cur = inEvent.GetDataSetPos() ;
+    pStream->seekg( cur );
+    PresentationDataValue thePDV;
+    PDataTFPDU basePDU ;
+    while( cur < len )
+      {
+      size_t remaining = std::min( maxpdu , (size_t)(len - cur) );
+      pStream->read( contents, remaining );
+      std::string sub( contents, remaining );
+      std::string UIDString;
+      thePDV.SetPresentationContextID( prescontid );
+      thePDV.SetBlob( sub );
+
+      if( remaining == maxpdu )
+        thePDV.SetMessageHeader( 0 );
+      else
+        thePDV.SetMessageHeader( 2 );
+
+      cur += remaining;
+      basePDU = PDataTFPDU();
+      basePDU.AddPresentationDataValue( thePDV );
+      basePDU.Write(*inConnection.GetProtocol());
+      Progress += progresstick;
+      ProgressEvent pe;
+      pe.SetProgress( Progress );
+      s->InvokeEvent( pe );
+
+      //if( !inConnection.GetProtocol()->good() );
+      //  {
+      //  throw new Exception("Protocol is not good.");
+      //  return eStaDoesNotExist;
+      //  }
+      inConnection.GetProtocol()->flush();
+      }
+    delete [] contents ;
+    }
   // When doing a C-MOVE we recevie the Requested DataSet over
   // another chanel (technically this is send to an SCP)
   // in our case we use another port to receive it.
diff --git a/Source/MessageExchangeDefinition/gdcmULBasicCallback.h b/Source/MessageExchangeDefinition/gdcmULBasicCallback.h
index 299ce17..4f12ddb 100644
--- a/Source/MessageExchangeDefinition/gdcmULBasicCallback.h
+++ b/Source/MessageExchangeDefinition/gdcmULBasicCallback.h
@@ -28,7 +28,7 @@ namespace gdcm
     {
     /**
      * \brief ULBasicCallback
-     * This is the most basic of callbacks for how the ULConnectionManager handles
+     * \details This is the most basic of callbacks for how the ULConnectionManager handles
      * incoming datasets.  DataSets are just concatenated to the mDataSets vector,
      * and the result can be pulled out of the vector by later code.
      * Alternatives to this method include progress updates, saving to disk, etc.
diff --git a/Source/MessageExchangeDefinition/gdcmULConnection.h b/Source/MessageExchangeDefinition/gdcmULConnection.h
index 8b52acb..a155315 100644
--- a/Source/MessageExchangeDefinition/gdcmULConnection.h
+++ b/Source/MessageExchangeDefinition/gdcmULConnection.h
@@ -33,7 +33,7 @@ namespace gdcm{
 
 /**
  * \brief ULConnection
- * This is the class that contains the socket to another machine, and passes
+ * \details This is the class that contains the socket to another machine, and passes
  * data through itself, as well as maintaining a sense of state.
  *
  * The ULConnectionManager tells the ULConnection what data can actually be
diff --git a/Source/MessageExchangeDefinition/gdcmULConnectionInfo.h b/Source/MessageExchangeDefinition/gdcmULConnectionInfo.h
index 88a4211..472e537 100644
--- a/Source/MessageExchangeDefinition/gdcmULConnectionInfo.h
+++ b/Source/MessageExchangeDefinition/gdcmULConnectionInfo.h
@@ -25,7 +25,7 @@ namespace gdcm{
   namespace network {
 /**
  * \brief ULConnectionInfo
- * this class contains all the information about a particular connection
+ * \details this class contains all the information about a particular connection
  * as established by the user.  That is, it's:
  *  User Information
  *  Calling AE Title
diff --git a/Source/MessageExchangeDefinition/gdcmULConnectionManager.cxx b/Source/MessageExchangeDefinition/gdcmULConnectionManager.cxx
index cdb72f5..2fde615 100644
--- a/Source/MessageExchangeDefinition/gdcmULConnectionManager.cxx
+++ b/Source/MessageExchangeDefinition/gdcmULConnectionManager.cxx
@@ -1132,15 +1132,13 @@ EStateID ULConnectionManager::RunEventLoop(ULEvent& currentEvent, ULConnection*
                     {
                     delete theData[i];
                     }
-                  //outDataSet.push_back(theCompleteFindResponse);
-                  if (inCallback)
+                  assert(inCallback);
                     {
                     inCallback->HandleDataSet(theCompleteFindResponse);
                     }
                   //  DataSetEvent dse( &theCompleteFindResponse );
                   //  this->InvokeEvent( dse );
 
-
                   if (theCommandCode == 1){//if we're doing cstore scp stuff, send information back along the connection.
                     std::vector<BasePDU*> theCStoreRSPPDU = PDUFactory::CreateCStoreRSPPDU(&theRSP, theFirstPDU);//pass NULL for C-Echo
                     //send them directly back over the connection
diff --git a/Source/MessageExchangeDefinition/gdcmULConnectionManager.h b/Source/MessageExchangeDefinition/gdcmULConnectionManager.h
index 0bad824..c247238 100644
--- a/Source/MessageExchangeDefinition/gdcmULConnectionManager.h
+++ b/Source/MessageExchangeDefinition/gdcmULConnectionManager.h
@@ -35,7 +35,7 @@ namespace gdcm {
 
 /**
  * \brief ULConnectionManager
- * The ULConnectionManager performs actions on the ULConnection given inputs
+ * \details The ULConnectionManager performs actions on the ULConnection given inputs
  * from the user and from the state of what's going on around the connection
  * (ie, timeouts of the ARTIM timer, responses from the peer across the
  * connection, etc).
diff --git a/Source/MessageExchangeDefinition/gdcmULEvent.h b/Source/MessageExchangeDefinition/gdcmULEvent.h
index f5eb1ee..4c04e27 100644
--- a/Source/MessageExchangeDefinition/gdcmULEvent.h
+++ b/Source/MessageExchangeDefinition/gdcmULEvent.h
@@ -28,7 +28,7 @@ namespace gdcm {
 
 /**
  * \brief ULEvent
- * base class for network events.
+ * \details base class for network events.
  *
  * An event consists of the event ID and the data associated with that event.
  *
diff --git a/Source/MessageExchangeDefinition/gdcmULWritingCallback.h b/Source/MessageExchangeDefinition/gdcmULWritingCallback.h
index e321cc3..f99b462 100644
--- a/Source/MessageExchangeDefinition/gdcmULWritingCallback.h
+++ b/Source/MessageExchangeDefinition/gdcmULWritingCallback.h
@@ -26,7 +26,7 @@ class DataSet;
 namespace network
 {
 /* \brief ULWritingCallback
- * This is the most basic of callbacks for how the ULConnectionManager handles
+ * \details This is the most basic of callbacks for how the ULConnectionManager handles
  * incoming datasets.  DataSets are immediately written to disk as soon as they
  * are received.  NOTE that if the incoming connection is faster than the disk
  * writing speed, this callback could cause some pileups!
diff --git a/Source/MessageExchangeDefinition/gdcmUserInformation.h b/Source/MessageExchangeDefinition/gdcmUserInformation.h
index 06ada30..f27f831 100644
--- a/Source/MessageExchangeDefinition/gdcmUserInformation.h
+++ b/Source/MessageExchangeDefinition/gdcmUserInformation.h
@@ -32,7 +32,7 @@ class SOPClassExtendedNegociationSub;
 struct SOPClassExtendedNegociationSubItems;
 /**
  * \brief UserInformation
- * Table 9-16
+ * \details Table 9-16
  * USER INFORMATION ITEM FIELDS
  *
  * TODO what is the goal of :
diff --git a/Source/MessageExchangeDefinition/gdcmWLMFindQuery.h b/Source/MessageExchangeDefinition/gdcmWLMFindQuery.h
index 23f6442..ce2baa3 100644
--- a/Source/MessageExchangeDefinition/gdcmWLMFindQuery.h
+++ b/Source/MessageExchangeDefinition/gdcmWLMFindQuery.h
@@ -20,7 +20,7 @@ namespace gdcm
 {
 /**
  * \brief PatientRootQuery
- * contains: the class which will produce a dataset for c-find with patient root
+ * \details contains: the class which will produce a dataset for c-find with patient root
  */
 class GDCM_EXPORT WLMFindQuery : public BaseRootQuery
 {
diff --git a/Testing/Source/Common/Cxx/TestCryptographicMessageSyntax.cxx b/Testing/Source/Common/Cxx/TestCryptographicMessageSyntax.cxx
index 923893b..6a664c5 100644
--- a/Testing/Source/Common/Cxx/TestCryptographicMessageSyntax.cxx
+++ b/Testing/Source/Common/Cxx/TestCryptographicMessageSyntax.cxx
@@ -34,7 +34,7 @@ static bool LoadFile(const char * filename, char* & buffer, size_t & bufLen)
   buffer = new char[sz];
   bufLen = sz;
   while (sz)
-    sz -= fread(buffer + bufLen - sz, sizeof(char), sz, f);
+    sz -= (long)fread(buffer + bufLen - sz, sizeof(char), sz, f);
   return true;
 }
 
diff --git a/Testing/Source/Common/Cxx/TestSystem2.cxx b/Testing/Source/Common/Cxx/TestSystem2.cxx
index 1d35040..60c01d2 100644
--- a/Testing/Source/Common/Cxx/TestSystem2.cxx
+++ b/Testing/Source/Common/Cxx/TestSystem2.cxx
@@ -29,9 +29,9 @@ static bool check( const int64_t inslen )
 
 static bool append( size_t len )
 {
-  off_t newlen = len;
+  off_t newlen = (off_t)len;
 #if 1
-  newlen -= actualde;
+  newlen -= (off_t)actualde;
   return check( newlen );
 #else
   return check( newlen - actualde );
@@ -58,7 +58,7 @@ int TestSystem2(int, char *[])
   int val1 = 5;
   int val2 = 10;
   size_t size = 2;
-  const off_t o = size;
+  const off_t o = (off_t)size;
   
   if( !check( o + val1 - val2 ) )
     {
diff --git a/Testing/Source/Data/CMakeLists.txt b/Testing/Source/Data/CMakeLists.txt
index 84efaa4..575b312 100644
--- a/Testing/Source/Data/CMakeLists.txt
+++ b/Testing/Source/Data/CMakeLists.txt
@@ -71,6 +71,15 @@ set(BLACK_LIST_READER
 # something wrong with OPJ 1.4
   JPEGLS_CharLS_10742.dcm
 )
+if(GDCM_USE_SYSTEM_OPENJPEG)
+  if(OPENJPEG_MAJOR_VERSION EQUAL 1)
+    set(BLACK_LIST_READER
+      ${BLACK_LIST_READER}
+      # openjpeg system on travis buildd seems broken
+      TOSHIBA_J2K_OpenJPEGv2Regression.dcm
+    )
+  endif()
+endif()
 if(NOT GDCM_USE_PVRG)
   set(BLACK_LIST_READER
     # The following should really fails according to JPEG spec, IJG is failing and even when forcing
diff --git a/Testing/Source/DataStructureAndEncodingDefinition/Cxx/CMakeLists.txt b/Testing/Source/DataStructureAndEncodingDefinition/Cxx/CMakeLists.txt
index ac64088..c07770b 100644
--- a/Testing/Source/DataStructureAndEncodingDefinition/Cxx/CMakeLists.txt
+++ b/Testing/Source/DataStructureAndEncodingDefinition/Cxx/CMakeLists.txt
@@ -12,7 +12,7 @@ set(DSED_TEST_SRCS
   #TestByteValue
   TestPreamble
   TestReader
-  TestReader4
+  #TestReader4 # FIXME
   TestReaderUpToTag1
   TestReaderUpToTag2
   TestReaderSelectedTags
diff --git a/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestItem.cxx b/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestItem.cxx
index 4364a3e..7501527 100644
--- a/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestItem.cxx
+++ b/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestItem.cxx
@@ -24,7 +24,7 @@ void CreateDataElement(gdcm::ExplicitDataElement &de, int offset)
   gdcm::Tag tag(0x1234, (uint16_t)(0x5678+offset));
   gdcm::VR vr = gdcm::VR::UN;
   const char str[] = "GDCM";
-  uint32_t len = strlen(str);
+  uint32_t len = (uint32_t)strlen(str);
   assert( sizeof(uint32_t) == 4 );
   gdcm::ByteValue val(str, len);
   tag.Write<gdcm::SwapperNoOp>(ss);
diff --git a/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestReader3.cxx b/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestReader3.cxx
index ad173c0..c8de6b7 100644
--- a/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestReader3.cxx
+++ b/Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestReader3.cxx
@@ -18,6 +18,7 @@
 #include <fstream>
 #include <iostream>
 
+#include <string.h> // strstr
 // fstat
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -253,7 +254,8 @@ int TestReader3(int argc, char *argv[])
   const char * const *filenames = gdcm::Testing::GetFileNames();
   while( (filename = filenames[i]) )
     {
-    r += TestRead3( argv[0], filename );
+    if( strstr(filename, "IllegalGroup2ImplicitTS.dcm" ) == NULL )
+      r += TestRead3( argv[0], filename );
     ++i;
     }
 
diff --git a/Testing/Source/MediaStorageAndFileFormat/Cxx/CMakeLists.txt b/Testing/Source/MediaStorageAndFileFormat/Cxx/CMakeLists.txt
index ab1be4b..d22a082 100644
--- a/Testing/Source/MediaStorageAndFileFormat/Cxx/CMakeLists.txt
+++ b/Testing/Source/MediaStorageAndFileFormat/Cxx/CMakeLists.txt
@@ -17,10 +17,10 @@ set(MSFF_TEST_SRCS
   TestFileAnonymizer3
   TestFileAnonymizer4
   TestIconImageFilter
-  TestIconImageGenerator
-  TestIconImageGenerator2
-  TestIconImageGenerator3
-  TestIconImageGenerator4
+  #TestIconImageGenerator
+  #TestIconImageGenerator2
+  #TestIconImageGenerator3
+  #TestIconImageGenerator4
   TestParseXPATH
   TestValidate
   TestAnonymizeEvent
diff --git a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer3.cxx b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer3.cxx
index 8f4096a..6c1507e 100644
--- a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer3.cxx
+++ b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer3.cxx
@@ -82,13 +82,13 @@ static int TestFileAnonymize3(const char *filename, bool verbose = false)
   if( !r.Read() )
     {
     gdcm::Filename fn( filename );
-    std::cerr << "Failed to read: " << outfilename << std::endl;
     if( strcmp(fn.GetName(), "SIEMENS_MAGNETOM-12-MONO2-GDCM12-VRUN.dcm") == 0
       || strcmp(fn.GetName(), "DMCPACS_ExplicitImplicit_BogusIOP.dcm") == 0
       || strcmp(fn.GetName(), "ExplicitVRforPublicElementsImplicitVRforShadowElements.dcm") == 0 )
       {
       return 0;
       }
+    std::cerr << "Failed to read: " << outfilename << std::endl;
     return 1;
     }
   const File &f = r.GetFile();
diff --git a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer4.cxx b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer4.cxx
index 9bc865f..f344bb6 100644
--- a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer4.cxx
+++ b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestFileAnonymizer4.cxx
@@ -86,13 +86,13 @@ static int TestFileAnonymize4(const char *filename, bool verbose = false)
     if( !r.Read() )
       {
       gdcm::Filename fn( filename );
-      std::cerr << "Failed to read: " << outfilename << std::endl;
       if( strcmp(fn.GetName(), "SIEMENS_MAGNETOM-12-MONO2-GDCM12-VRUN.dcm") == 0
         || strcmp(fn.GetName(), "DMCPACS_ExplicitImplicit_BogusIOP.dcm") == 0
         || strcmp(fn.GetName(), "ExplicitVRforPublicElementsImplicitVRforShadowElements.dcm") == 0 )
         {
         return 0;
         }
+      std::cerr << "Failed to read: " << outfilename << std::endl;
       return 1;
       }
     }
@@ -109,12 +109,14 @@ static int TestFileAnonymize4(const char *filename, bool verbose = false)
     if( !fa.Write() )
       {
       gdcm::Filename fn( filename );
-      std::cerr << "Failed to write (2): " << outfilename << std::endl;
       if( strcmp(fn.GetName(), "JPEGInvalidSecondFrag.dcm") == 0 )
         {
         }
       else
+        {
+        std::cerr << "Failed to write (2): " << outfilename << std::endl;
         return 1;
+        }
       }
     }
 
diff --git a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner1.cxx b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner1.cxx
index 99a7f04..ae11e6e 100644
--- a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner1.cxx
+++ b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner1.cxx
@@ -66,6 +66,8 @@ int TestStrictScanner1(int argc, char *argv[])
   gdcm::Trace::WarningOff();
   gdcm::Trace::ErrorOff();
   const char *directory = gdcm::Testing::GetDataRoot();
+  std::string tmpdir = gdcm::Testing::GetTempDirectory( "TestWriter" );
+  directory = tmpdir.c_str();
   if( argc == 2 )
     {
     directory = argv[1];
@@ -156,6 +158,7 @@ int TestStrictScanner1(int argc, char *argv[])
   gdcm::StrictScanner::MappingType const &mt = s.GetMappings();
   std::string sfilename;
   sfilename = gdcm::Testing::GetDataRoot();
+  sfilename = directory;
   sfilename+= "/test.acr";
 {
   //const char *filename = d.GetFilenames()[0].c_str();
diff --git a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner2.cxx b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner2.cxx
index 9739b48..7a0e609 100644
--- a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner2.cxx
+++ b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestStrictScanner2.cxx
@@ -21,8 +21,9 @@ int TestStrictScanner2(int argc, char *argv[])
 {
   gdcm::Trace::WarningOff();
   gdcm::Trace::ErrorOff();
-
   const char *directory = gdcm::Testing::GetDataRoot();
+  std::string tmpdir = gdcm::Testing::GetTempDirectory( "TestWriter" );
+  directory = tmpdir.c_str();
   if( argc == 2 )
     {
     directory = argv[1];
diff --git a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestUIDGenerator.cxx b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestUIDGenerator.cxx
index e5a9217..534a607 100644
--- a/Testing/Source/MediaStorageAndFileFormat/Cxx/TestUIDGenerator.cxx
+++ b/Testing/Source/MediaStorageAndFileFormat/Cxx/TestUIDGenerator.cxx
@@ -83,6 +83,11 @@ int TestUIDGeneratorValid()
     {
     return 1;
     }
+  const char invalid11[] = "00.1";
+  if( gdcm::UIDGenerator::IsValid( invalid11 ) )
+    {
+    return 1;
+    }
   return 0; // no error
 }
 
diff --git a/Utilities/doxygen/CMakeLists.txt b/Utilities/doxygen/CMakeLists.txt
index 52641a9..2fb9d92 100644
--- a/Utilities/doxygen/CMakeLists.txt
+++ b/Utilities/doxygen/CMakeLists.txt
@@ -168,7 +168,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/latex/Makefile
       DEPENDS ${GDCM_DOC_TARBALL}
       COMMENT  "GDCM: Executing GDCMDoxygenDoc"
     )
-    add_dependency(DoxygenDoc GDCMDoxygenDoc)
+    add_dependencies(DoxygenDoc GDCMDoxygenDoc)
   endif()
 
   # Install html pages:
@@ -305,10 +305,13 @@ else()
   endif()
 endif()
 if(XSLT_PROCESSOR)
+  configure_file(version.txt.in
+    version.txt @ONLY)
 foreach(docbook ${MANPAGES_XML})
   add_custom_command(
     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${docbook}.1
-    COMMAND ${XSLT_PROCESSOR} ${XSLT_PROCESSOR_ARG} ${CMAKE_CURRENT_SOURCE_DIR}/man/${docbook}.xml
+    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/man/${docbook}.xml ${CMAKE_CURRENT_BINARY_DIR}/${docbook}.xml
+    COMMAND ${XSLT_PROCESSOR} ${XSLT_PROCESSOR_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${docbook}.xml
     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/man/${docbook}.xml
     )
   list(APPEND MANPAGES
diff --git a/Utilities/doxygen/man/gdcm2pnm.xml b/Utilities/doxygen/man/gdcm2pnm.xml
index ba6e660..2046494 100644
--- a/Utilities/doxygen/man/gdcm2pnm.xml
+++ b/Utilities/doxygen/man/gdcm2pnm.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcm2pnm</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcm2pnm</refname>
diff --git a/Utilities/doxygen/man/gdcm2vtk.xml b/Utilities/doxygen/man/gdcm2vtk.xml
index f8a1986..0c21775 100644
--- a/Utilities/doxygen/man/gdcm2vtk.xml
+++ b/Utilities/doxygen/man/gdcm2vtk.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcm2vtk</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcm2vtk</refname>
diff --git a/Utilities/doxygen/man/gdcmanon.xml b/Utilities/doxygen/man/gdcmanon.xml
index d681acf..e3e929b 100644
--- a/Utilities/doxygen/man/gdcmanon.xml
+++ b/Utilities/doxygen/man/gdcmanon.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmanon</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmanon</refname>
diff --git a/Utilities/doxygen/man/gdcmconv.xml b/Utilities/doxygen/man/gdcmconv.xml
index e7654b2..fae0b85 100644
--- a/Utilities/doxygen/man/gdcmconv.xml
+++ b/Utilities/doxygen/man/gdcmconv.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmconv</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmconv</refname>
diff --git a/Utilities/doxygen/man/gdcmdiff.xml b/Utilities/doxygen/man/gdcmdiff.xml
index 8635707..ab35f65 100644
--- a/Utilities/doxygen/man/gdcmdiff.xml
+++ b/Utilities/doxygen/man/gdcmdiff.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmdiff</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmdiff</refname>
diff --git a/Utilities/doxygen/man/gdcmdump.xml b/Utilities/doxygen/man/gdcmdump.xml
index e58d8e4..fb7d937 100644
--- a/Utilities/doxygen/man/gdcmdump.xml
+++ b/Utilities/doxygen/man/gdcmdump.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmdump</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmdump</refname>
diff --git a/Utilities/doxygen/man/gdcmgendir.xml b/Utilities/doxygen/man/gdcmgendir.xml
index 207b649..689e36c 100644
--- a/Utilities/doxygen/man/gdcmgendir.xml
+++ b/Utilities/doxygen/man/gdcmgendir.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmgendir</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmgendir</refname>
diff --git a/Utilities/doxygen/man/gdcmimg.xml b/Utilities/doxygen/man/gdcmimg.xml
index 4eaef1a..369db62 100644
--- a/Utilities/doxygen/man/gdcmimg.xml
+++ b/Utilities/doxygen/man/gdcmimg.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmimg</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmimg</refname>
diff --git a/Utilities/doxygen/man/gdcminfo.xml b/Utilities/doxygen/man/gdcminfo.xml
index 3c80686..a9dcaa4 100644
--- a/Utilities/doxygen/man/gdcminfo.xml
+++ b/Utilities/doxygen/man/gdcminfo.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcminfo</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcminfo</refname>
diff --git a/Utilities/doxygen/man/gdcmpap3.xml b/Utilities/doxygen/man/gdcmpap3.xml
index 0b87e6a..f7b49f0 100644
--- a/Utilities/doxygen/man/gdcmpap3.xml
+++ b/Utilities/doxygen/man/gdcmpap3.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmpap3</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmpap3</refname>
diff --git a/Utilities/doxygen/man/gdcmpdf.xml b/Utilities/doxygen/man/gdcmpdf.xml
index 77655bf..e6422c9 100644
--- a/Utilities/doxygen/man/gdcmpdf.xml
+++ b/Utilities/doxygen/man/gdcmpdf.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmpdf</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmpdf</refname>
diff --git a/Utilities/doxygen/man/gdcmraw.xml b/Utilities/doxygen/man/gdcmraw.xml
index 5ba8d9d..6ea8ffe 100644
--- a/Utilities/doxygen/man/gdcmraw.xml
+++ b/Utilities/doxygen/man/gdcmraw.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmraw</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmraw</refname>
diff --git a/Utilities/doxygen/man/gdcmscanner.xml b/Utilities/doxygen/man/gdcmscanner.xml
index 9eaab42..ad5384c 100644
--- a/Utilities/doxygen/man/gdcmscanner.xml
+++ b/Utilities/doxygen/man/gdcmscanner.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmscanner</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmscanner</refname>
diff --git a/Utilities/doxygen/man/gdcmscu.xml b/Utilities/doxygen/man/gdcmscu.xml
index 8471ef1..022aaf7 100644
--- a/Utilities/doxygen/man/gdcmscu.xml
+++ b/Utilities/doxygen/man/gdcmscu.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmscu</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmscu</refname>
diff --git a/Utilities/doxygen/man/gdcmtar.xml b/Utilities/doxygen/man/gdcmtar.xml
index 2707eb0..0d042d6 100644
--- a/Utilities/doxygen/man/gdcmtar.xml
+++ b/Utilities/doxygen/man/gdcmtar.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmtar</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmtar</refname>
diff --git a/Utilities/doxygen/man/gdcmviewer.xml b/Utilities/doxygen/man/gdcmviewer.xml
index 1857c2a..c97bd79 100644
--- a/Utilities/doxygen/man/gdcmviewer.xml
+++ b/Utilities/doxygen/man/gdcmviewer.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmviewer</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmviewer</refname>
diff --git a/Utilities/doxygen/man/gdcmxml.xml b/Utilities/doxygen/man/gdcmxml.xml
index ad4e53a..e91543d 100644
--- a/Utilities/doxygen/man/gdcmxml.xml
+++ b/Utilities/doxygen/man/gdcmxml.xml
@@ -1,5 +1,6 @@
 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
+<!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
 <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
 <info>
 <author><personname><firstname>Mathieu</firstname><surname>Malaterre</surname></personname><contrib>Main developer</contrib></author>
@@ -9,7 +10,7 @@
     <refentrytitle>gdcmxml</refentrytitle>
     <manvolnum>1</manvolnum>
     <refmiscinfo class="source">GDCM</refmiscinfo>
-    <refmiscinfo class="version">VER_FULL</refmiscinfo>
+    <refmiscinfo class="version">&version;</refmiscinfo>
     <refmiscinfo class="manual">DICOM Manipulation.</refmiscinfo>
   </refmeta>
   <refnamediv><refname>gdcmxml</refname>
diff --git a/Utilities/doxygen/version.txt.in b/Utilities/doxygen/version.txt.in
new file mode 100644
index 0000000..f6156e8
--- /dev/null
+++ b/Utilities/doxygen/version.txt.in
@@ -0,0 +1 @@
+ at GDCM_VERSION@
diff --git a/Utilities/gdcmrle/io.cxx b/Utilities/gdcmrle/io.cxx
index 96903ab..a5cc45a 100644
--- a/Utilities/gdcmrle/io.cxx
+++ b/Utilities/gdcmrle/io.cxx
@@ -35,7 +35,7 @@ int source::read_into_segments( char * out, int len, image_info const & ii )
   if( numsegs == 1 )
     {
     const int nvalues = read(out, len);
-    assert( nvalues == len );
+    assert( nvalues == len ); (void)nvalues;
     }
   else
     {
@@ -55,7 +55,7 @@ int source::read_into_segments( char * out, int len, image_info const & ii )
       for(int l = 0; l < llen; ++l )
         {
         const int nvalues = read(values, numsegs);
-        assert( nvalues == numsegs );
+        assert( nvalues == numsegs ); (void)nvalues;
         for( int c = 0; c < nc; ++c )
           {
           for( int p = 0; p < npadded; ++p )
diff --git a/Utilities/gdcmrle/rle.cxx b/Utilities/gdcmrle/rle.cxx
index 72986dd..79f547a 100644
--- a/Utilities/gdcmrle/rle.cxx
+++ b/Utilities/gdcmrle/rle.cxx
@@ -68,7 +68,7 @@ rle_encoder::~rle_encoder()
 //  - on first pass it will detect if user input was found to be invalid and
 // update pixel_info accordingly.
 // - on the second pass when the user update with the proper pixel_info, then
-// the code will fails is the remaining of the header was found to be invalid
+// the code will fails if the remaining of the header was found to be invalid
 // as per DICOM spec.
 static inline bool check_header( header const & rh, pixel_info & pt )
 {
@@ -97,7 +97,7 @@ static inline bool check_header( header const & rh, pixel_info & pt )
       return false;
     }
 
-  // DICOM mandates all unused segments to have there offset be 0:
+  // DICOM mandates all unused segments to have their offsets be 0:
   for( int i = rh.num_segments; i < max_number_offset; ++i )
     if( rh.offset[i] != 0 )
       return false;
@@ -150,7 +150,7 @@ bool rle_encoder::write_header( dest & d )
   memcpy( internals->comp_pos, comp_pos, sizeof( comp_pos ) );
 
   bool b = src->seek( start ); // go back to start position
-  assert( b );
+  assert( b ); (void)b;
 
   return true;
 }
@@ -261,7 +261,7 @@ int rle_encoder::encode_row( dest & d )
   const int nc = pt.get_number_of_components();
   const int bpp = pt.get_number_of_bits_per_pixel();
   const int numsegs = internals->rh.num_segments;
-  assert( numsegs == (bpp / 8) * nc );
+  assert( numsegs == (bpp / 8) * nc ); (void)bpp; (void)nc;
 
   internals->invalues.resize( w * numsegs );
   internals->outvalues.resize( w * 2 ); // worse possible case ?
@@ -279,7 +279,7 @@ int rle_encoder::encode_row( dest & d )
     n += ret;
 
     const bool b = d.seek( comp_pos[s] );
-    assert(b);
+    assert(b); (void)b;
     d.write( &internals->outvalues[0], ret );
     comp_pos[s] += ret;
     }
@@ -448,7 +448,7 @@ static int decode_internal( char * output, source & s, const int maxlen, const i
   while( numOutBytes < maxlen && !s.eof() )
     {
     int check = s.read( &b, 1 );
-    assert( check == 1 );
+    assert( check == 1 ); (void)check;
     if( b >= 0 /*&& b <= 127*/ ) /* 2nd is always true */
       {
       int nbytes = s.read( buffer, b + 1 );
@@ -474,7 +474,7 @@ static int decode_internal( char * output, source & s, const int maxlen, const i
       {
       rle_decoder::byte nextByte;
       const int nbytes = s.read( &nextByte, 1 );
-      assert( nbytes == 1 );
+      assert( nbytes == 1 ); (void)nbytes;
       int nrep = -b + 1; // number of repetitions
       memset(buffer, nextByte, nrep);
       assert( (cur - output) % nstride == 0 );
@@ -536,7 +536,7 @@ rle_decoder::streamsize_t rle_decoder::decode_frame( dest & d )
   for( int i = 0; i < internals->nsources; i++ )
     {
     source *s = internals->sources[i];
-    assert( s->tell() == internals->rh.offset[i] );
+    assert( s->tell() == internals->rh.offset[i] ); (void)s;
     }
   int numOutBytesFull = 0;
   const int mult = internals->img.get_pixel_info().compute_num_segments();
diff --git a/Wrapping/Python/docstrings.i b/Wrapping/Python/docstrings.i
index 3b9cae2..0fe3e29 100644
--- a/Wrapping/Python/docstrings.i
+++ b/Wrapping/Python/docstrings.i
@@ -4,7 +4,9 @@
 // File: classgdcm_1_1network_1_1AAbortPDU.xml
 %feature("docstring") gdcm::network::AAbortPDU "
 
-AAbortPDU Table 9-26 A-ABORT PDU FIELDS.
+AAbortPDU.
+
+Table 9-26 A-ABORT PDU FIELDS
 
 C++ includes: gdcmAAbortPDU.h ";
 
@@ -36,7 +38,9 @@ std::ostream& gdcm::network::AAbortPDU::Write(std::ostream &os) const
 // File: classgdcm_1_1network_1_1AAssociateACPDU.xml
 %feature("docstring") gdcm::network::AAssociateACPDU "
 
-AAssociateACPDU Table 9-17 ASSOCIATE-AC PDU fields.
+AAssociateACPDU.
+
+Table 9-17 ASSOCIATE-AC PDU fields
 
 C++ includes: gdcmAAssociateACPDU.h ";
 
@@ -87,7 +91,9 @@ const ";
 // File: classgdcm_1_1network_1_1AAssociateRJPDU.xml
 %feature("docstring") gdcm::network::AAssociateRJPDU "
 
-AAssociateRJPDU Table 9-21 ASSOCIATE-RJ PDU FIELDS.
+AAssociateRJPDU.
+
+Table 9-21 ASSOCIATE-RJ PDU FIELDS
 
 C++ includes: gdcmAAssociateRJPDU.h ";
 
@@ -114,7 +120,9 @@ const ";
 // File: classgdcm_1_1network_1_1AAssociateRQPDU.xml
 %feature("docstring") gdcm::network::AAssociateRQPDU "
 
-AAssociateRQPDU Table 9-11 ASSOCIATE-RQ PDU fields.
+AAssociateRQPDU.
+
+Table 9-11 ASSOCIATE-RQ PDU fields
 
 C++ includes: gdcmAAssociateRQPDU.h ";
 
@@ -215,7 +223,9 @@ const ";
 // File: classgdcm_1_1network_1_1AbstractSyntax.xml
 %feature("docstring") gdcm::network::AbstractSyntax "
 
-AbstractSyntax Table 9-14 ABSTRACT SYNTAX SUB-ITEM FIELDS.
+AbstractSyntax.
+
+Table 9-14 ABSTRACT SYNTAX SUB-ITEM FIELDS
 
 C++ includes: gdcmAbstractSyntax.h ";
 
@@ -250,8 +260,9 @@ const ";
 // File: classgdcm_1_1AnonymizeEvent.xml
 %feature("docstring") gdcm::AnonymizeEvent "
 
-AnonymizeEvent Special type of event triggered during the
-Anonymization process.
+AnonymizeEvent.
+
+Special type of event triggered during the Anonymization process
 
 See:   Anonymizer
 
@@ -288,10 +299,10 @@ gdcm::AnonymizeEvent::SetTag(const Tag &t) ";
 // File: classgdcm_1_1Anonymizer.xml
 %feature("docstring") gdcm::Anonymizer "
 
-Anonymizer This class is a multi purpose anonymizer. It can work in 2
-mode:
+Anonymizer.
 
-Full (irreversible) anonymizer (aka dumb mode)
+This class is a multi purpose anonymizer. It can work in 2 mode: Full
+(irreversible) anonymizer (aka dumb mode)
 
 reversible de-identifier/re-identifier (aka smart mode). This
 implements the Basic Application Level Confidentiality Profile, DICOM
@@ -432,10 +443,10 @@ Set/Get File. ";
 // File: classgdcm_1_1network_1_1ApplicationContext.xml
 %feature("docstring") gdcm::network::ApplicationContext "
 
-ApplicationContext Table 9-12 APPLICATION CONTEXT ITEM FIELDS.
+ApplicationContext.
 
-Todo Looks like Application Context can only be 64 bytes at max (see
-Figure 9-1 / PS 3.8 - 2009 )
+Table 9-12 APPLICATION CONTEXT ITEM FIELDSTodo Looks like Application
+Context can only be 64 bytes at max (see Figure 9-1 / PS 3.8 - 2009 )
 
 C++ includes: gdcmApplicationContext.h ";
 
@@ -493,7 +504,9 @@ gdcm::ApplicationEntity::Squeeze() ";
 // File: classgdcm_1_1network_1_1AReleaseRPPDU.xml
 %feature("docstring") gdcm::network::AReleaseRPPDU "
 
-AReleaseRPPDU Table 9-25 A-RELEASE-RP PDU fields.
+AReleaseRPPDU.
+
+Table 9-25 A-RELEASE-RP PDU fields
 
 C++ includes: gdcmAReleaseRPPDU.h ";
 
@@ -517,7 +530,9 @@ const ";
 // File: classgdcm_1_1network_1_1AReleaseRQPDU.xml
 %feature("docstring") gdcm::network::AReleaseRQPDU "
 
-AReleaseRQPDU Table 9-24 A-RELEASE-RQ PDU FIELDS.
+AReleaseRQPDU.
+
+Table 9-24 A-RELEASE-RQ PDU FIELDS
 
 C++ includes: gdcmAReleaseRQPDU.h ";
 
@@ -541,7 +556,9 @@ const ";
 // File: classgdcm_1_1network_1_1ARTIMTimer.xml
 %feature("docstring") gdcm::network::ARTIMTimer "
 
-ARTIMTimer This file contains the code for the ARTIM timer.
+ARTIMTimer.
+
+This file contains the code for the ARTIM timer.
 
 Basically, the ARTIM timer will just get the wall time when it's
 started, and then can be queried for the current time, and then can be
@@ -593,8 +610,10 @@ C++ includes: gdcmASN1.h ";
 // File: classgdcm_1_1network_1_1AsynchronousOperationsWindowSub.xml
 %feature("docstring") gdcm::network::AsynchronousOperationsWindowSub "
 
-AsynchronousOperationsWindowSub PS 3.7 Table D.3-7 ASYNCHRONOUS
-OPERATIONS WINDOW SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
+AsynchronousOperationsWindowSub.
+
+PS 3.7 Table D.3-7 ASYNCHRONOUS OPERATIONS WINDOW SUB-ITEM FIELDS (A
+-ASSOCIATE-RQ)
 
 C++ includes: gdcmAsynchronousOperationsWindowSub.h ";
 
@@ -926,11 +945,12 @@ C++ includes: gdcmBase64.h ";
 // File: classgdcm_1_1network_1_1BaseCompositeMessage.xml
 %feature("docstring") gdcm::network::BaseCompositeMessage "
 
-BaseCompositeMessage The Composite events described in section
-3.7-2009 of the DICOM standard all use their own messages. These
-messages are constructed using Presentation Data Values, from section
-3.8-2009 of the standard, and then fill in appropriate values in their
-datasets.
+BaseCompositeMessage.
+
+The Composite events described in section 3.7-2009 of the DICOM
+standard all use their own messages. These messages are constructed
+using Presentation Data Values, from section 3.8-2009 of the standard,
+and then fill in appropriate values in their datasets.
 
 So, for the five composites: C-ECHO
 
@@ -963,11 +983,12 @@ gdcm::network::BaseCompositeMessage::ConstructPDV(const ULConnection
 // File: classgdcm_1_1network_1_1BaseNormalizedMessage.xml
 %feature("docstring") gdcm::network::BaseNormalizedMessage "
 
-BaseNormalizedMessage The Normalized events described in section
-3.7-2011 of the DICOM standard all use their own messages. These
-messages are constructed using Presentation Data Values, from section
-3.8-2011 of the standard, and then fill in appropriate values in their
-datasets.
+BaseNormalizedMessage.
+
+The Normalized events described in section 3.7-2011 of the DICOM
+standard all use their own messages. These messages are constructed
+using Presentation Data Values, from section 3.8-2011 of the standard,
+and then fill in appropriate values in their datasets.
 
 So, for the five normalized: N-ACTION
 
@@ -1003,7 +1024,9 @@ gdcm::network::BaseNormalizedMessage::ConstructPDV(const ULConnection
 // File: classgdcm_1_1network_1_1BasePDU.xml
 %feature("docstring") gdcm::network::BasePDU "
 
-BasePDU base class for PDUs.
+BasePDU.
+
+base class for PDUs
 
 all PDUs start with the first ten bytes as specified: 01 PDU type 02
 reserved 3-6 PDU Length (unsigned) 7-10 variable
@@ -1046,8 +1069,10 @@ std::ostream& gdcm::network::BasePDU::Write(std::ostream &os) const =0
 // File: classgdcm_1_1BaseQuery.xml
 %feature("docstring") gdcm::BaseQuery "
 
-BaseQuery contains: a baseclass which will produce a dataset for all
-dimse messages.
+BaseQuery.
+
+contains: a baseclass which will produce a dataset for all dimse
+messages
 
 C++ includes: gdcmBaseQuery.h ";
 
@@ -1098,8 +1123,10 @@ gdcm::BaseQuery::WriteQuery(const std::string &inFileName) ";
 // File: classgdcm_1_1BaseRootQuery.xml
 %feature("docstring") gdcm::BaseRootQuery "
 
-BaseRootQuery contains: a baseclass which will produce a dataset for
-c-find and c-move with patient/study root.
+BaseRootQuery.
+
+contains: a baseclass which will produce a dataset for c-find and
+c-move with patient/study root
 
 This class contains the functionality used in patient c-find and
 c-move queries. PatientRootQuery and StudyRootQuery derive from this
@@ -1208,9 +1235,11 @@ gdcm::BasicOffsetTable::Read(std::istream &is) ";
 // File: classgdcm_1_1Bitmap.xml
 %feature("docstring") gdcm::Bitmap "
 
-Bitmap class A bitmap based image. Used as parent for both IconImage
-and the main Pixel Data Image It does not contains any World Space
-information (IPP, IOP)
+Bitmap class.
+
+A bitmap based image. Used as parent for both IconImage and the main
+Pixel Data Image It does not contains any World Space information
+(IPP, IOP)
 
 C++ includes: gdcmBitmap.h ";
 
@@ -1366,8 +1395,10 @@ Transfer syntax. ";
 // File: classgdcm_1_1BitmapToBitmapFilter.xml
 %feature("docstring") gdcm::BitmapToBitmapFilter "
 
-BitmapToBitmapFilter class Super class for all filter taking an image
-and producing an output image.
+BitmapToBitmapFilter class.
+
+Super class for all filter taking an image and producing an output
+image
 
 C++ includes: gdcmBitmapToBitmapFilter.h ";
 
@@ -1393,9 +1424,11 @@ Set input image. ";
 // File: classgdcm_1_1BoxRegion.xml
 %feature("docstring") gdcm::BoxRegion "
 
-Class for manipulation box region This is a very simple implementation
-of the Region class. It only support 3D box type region. It assumes
-the 3D Box does not have a tilt Origin is as (0,0,0)
+Class for manipulation box region.
+
+This is a very simple implementation of the Region class. It only
+support 3D box type region. It assumes the 3D Box does not have a tilt
+Origin is as (0,0,0)
 
 C++ includes: gdcmBoxRegion.h ";
 
@@ -1502,7 +1535,9 @@ C++ includes: gdcmByteSwap.h ";
 // File: classgdcm_1_1ByteSwapFilter.xml
 %feature("docstring") gdcm::ByteSwapFilter "
 
-ByteSwapFilter In place byte-swapping of a dataset FIXME: FL status ??
+ByteSwapFilter.
+
+In place byte-swapping of a dataset FIXME: FL status ??
 
 C++ includes: gdcmByteSwapFilter.h ";
 
@@ -1669,7 +1704,9 @@ size_t passLen) ";
 // File: classgdcm_1_1network_1_1CEchoRQ.xml
 %feature("docstring") gdcm::network::CEchoRQ "
 
-CEchoRQ this file defines the messages for the cecho action.
+CEchoRQ.
+
+this file defines the messages for the cecho action
 
 C++ includes: gdcmCEchoMessages.h ";
 
@@ -1715,7 +1752,9 @@ gdcm::network::CFindCancelRQ::ConstructPDVByDataSet(const DataSet
 // File: classgdcm_1_1network_1_1CFindRQ.xml
 %feature("docstring") gdcm::network::CFindRQ "
 
-CFindRQ this file defines the messages for the cfind action.
+CFindRQ.
+
+this file defines the messages for the cfind action
 
 C++ includes: gdcmCFindMessages.h ";
 
@@ -1750,7 +1789,9 @@ gdcm::network::CMoveCancelRq::ConstructPDVByDataSet(const DataSet
 // File: classgdcm_1_1network_1_1CMoveRQ.xml
 %feature("docstring") gdcm::network::CMoveRQ "
 
-CMoveRQ this file defines the messages for the cmove action.
+CMoveRQ.
+
+this file defines the messages for the cmove action
 
 C++ includes: gdcmCMoveMessages.h ";
 
@@ -1805,8 +1846,10 @@ Code. ";
 // File: classgdcm_1_1CodeString.xml
 %feature("docstring") gdcm::CodeString "
 
-CodeString This is an implementation of DICOM VR: CS The cstor will
-properly Trim so that operator== is correct.
+CodeString.
+
+This is an implementation of DICOM VR: CS The cstor will properly Trim
+so that operator== is correct.
 
 the cstor of CodeString will Trim the string on the fly so as to
 remove the extra leading and ending spaces. However it will not
@@ -1905,13 +1948,14 @@ Write. ";
 // File: classgdcm_1_1network_1_1CompositeMessageFactory.xml
 %feature("docstring") gdcm::network::CompositeMessageFactory "
 
-CompositeMessageFactory This class constructs PDataPDUs, but that have
-been specifically constructed for the composite DICOM services
-(C-Echo, C-Find, C-Get, C-Move, and C-Store). It will also handle
-parsing the incoming data to determine which of the CompositePDUs the
-incoming data is, and so therefore allowing the scu to determine what
-to do with incoming data (if acting as a storescp server, for
-instance).
+CompositeMessageFactory.
+
+This class constructs PDataPDUs, but that have been specifically
+constructed for the composite DICOM services (C-Echo, C-Find, C-Get,
+C-Move, and C-Store). It will also handle parsing the incoming data to
+determine which of the CompositePDUs the incoming data is, and so
+therefore allowing the scu to determine what to do with incoming data
+(if acting as a storescp server, for instance).
 
 C++ includes: gdcmCompositeMessageFactory.h ";
 
@@ -1919,20 +1963,20 @@ C++ includes: gdcmCompositeMessageFactory.h ";
 // File: classgdcm_1_1CompositeNetworkFunctions.xml
 %feature("docstring") gdcm::CompositeNetworkFunctions "
 
-Composite Network Functions These functions provide a generic API to
-the DICOM functions implemented in GDCM. Advanced users can use this
-code as a template for building their own versions of these functions
-(for instance, to provide progress bars or some other way of handling
-returned query information), but for most users, these functions
-should be sufficient to interface with a PACS to a local machine. Note
-that these functions are not contained within a static class or some
-other class-style interface, because multiple connections can be
-instantiated in the same program. The DICOM standard is much more
-function oriented rather than class oriented in this instance, so the
-design of this API reflects that functional approach. These functions
-implements the following SCU operations:
-
-C-ECHO SCU
+Composite Network Functions.
+
+These functions provide a generic API to the DICOM functions
+implemented in GDCM. Advanced users can use this code as a template
+for building their own versions of these functions (for instance, to
+provide progress bars or some other way of handling returned query
+information), but for most users, these functions should be sufficient
+to interface with a PACS to a local machine. Note that these functions
+are not contained within a static class or some other class-style
+interface, because multiple connections can be instantiated in the
+same program. The DICOM standard is much more function oriented rather
+than class oriented in this instance, so the design of this API
+reflects that functional approach. These functions implements the
+following SCU operations: C-ECHO SCU
 
 C-FIND SCU
 
@@ -2233,11 +2277,11 @@ gdcm::CSAHeaderDict::IsEmpty() const ";
 // File: classgdcm_1_1CSAHeaderDictEntry.xml
 %feature("docstring") gdcm::CSAHeaderDictEntry "
 
-Class to represent an Entry in the Dict Does not really exist within
-the DICOM definition, just a way to minimize storage and have a
-mapping from gdcm::Tag to the needed information.
+Class to represent an Entry in the Dict.
 
-bla TODO FIXME: Need a PublicCSAHeaderDictEntry...indeed
+Does not really exist within the DICOM definition, just a way to
+minimize storage and have a mapping from gdcm::Tag to the needed
+information bla TODO FIXME: Need a PublicCSAHeaderDictEntry...indeed
 CSAHeaderDictEntry has a notion of retired which does not exist in
 PrivateCSAHeaderDictEntry...
 
@@ -2288,7 +2332,9 @@ gdcmCSAHeaderDict.h ";
 // File: classgdcm_1_1network_1_1CStoreRQ.xml
 %feature("docstring") gdcm::network::CStoreRQ "
 
-CStoreRQ this file defines the messages for the cecho action.
+CStoreRQ.
+
+this file defines the messages for the cecho action
 
 C++ includes: gdcmCStoreMessages.h ";
 
@@ -2312,8 +2358,9 @@ BasePDU *inPC) ";
 // File: classgdcm_1_1Curve.xml
 %feature("docstring") gdcm::Curve "
 
-Curve class to handle element 50xx,3000 Curve Data WARNING: This is
-deprecated and lastly defined in PS 3.3 - 2004.
+Curve class to handle element 50xx,3000 Curve Data.
+
+WARNING: This is deprecated and lastly defined in PS 3.3 - 2004
 
 Examples: GE_DLX-8-MONO2-Multiframe-Jpeg_Lossless.dcm
 
@@ -2611,9 +2658,9 @@ gdcm::DataEvent::SetData(const char *bytes, size_t len) ";
 // File: classgdcm_1_1DataSet.xml
 %feature("docstring") gdcm::DataSet "
 
-Class to represent a Data Set (which contains Data Elements) A Data
-Set represents an instance of a real world Information Object.
+Class to represent a Data Set (which contains Data Elements)
 
+A Data Set represents an instance of a real world Information Object
 DATA SET: Exchanged information consisting of a structured set of
 Attribute values directly or indirectly related to Information
 Objects. The value of each Attribute in a Data Set is expressed as a
@@ -2761,8 +2808,9 @@ gdcm::DataSet::Write(std::ostream &os) const ";
 // File: classgdcm_1_1DataSetEvent.xml
 %feature("docstring") gdcm::DataSetEvent "
 
-DataSetEvent Special type of event triggered during the DataSet
-store/move process.
+DataSetEvent.
+
+Special type of event triggered during the DataSet store/move process
 
 See:
 
@@ -2933,9 +2981,10 @@ C++ includes: gdcmDICOMDIR.h ";
 // File: classgdcm_1_1DICOMDIRGenerator.xml
 %feature("docstring") gdcm::DICOMDIRGenerator "
 
-DICOMDIRGenerator class This is a STD-GEN-CD DICOMDIR generator. ref:
-PS 3.11-2008 Annex D (Normative) - General Purpose CD-R and DVD
-Interchange Profiles.
+DICOMDIRGenerator class.
+
+This is a STD-GEN-CD DICOMDIR generator. ref: PS 3.11-2008 Annex D
+(Normative) - General Purpose CD-R and DVD Interchange Profiles
 
 PS 3.11 - 2008 / D.3.2 Physical Medium And Medium Format The STD-GEN-
 CD and STD-GEN-SEC-CD application profiles require the 120 mm CD-R
@@ -3096,12 +3145,12 @@ gdcm::DictConverter::SetOutputType(int type) ";
 // File: classgdcm_1_1DictEntry.xml
 %feature("docstring") gdcm::DictEntry "
 
-Class to represent an Entry in the Dict Does not really exist within
-the DICOM definition, just a way to minimize storage and have a
-mapping from gdcm::Tag to the needed information.
+Class to represent an Entry in the Dict.
 
-bla TODO FIXME: Need a PublicDictEntry...indeed DictEntry has a notion
-of retired which does not exist in PrivateDictEntry...
+Does not really exist within the DICOM definition, just a way to
+minimize storage and have a mapping from gdcm::Tag to the needed
+information bla TODO FIXME: Need a PublicDictEntry...indeed DictEntry
+has a notion of retired which does not exist in PrivateDictEntry...
 
 See:   gdcm::Dict
 
@@ -3231,8 +3280,10 @@ gdcm::Dicts::IsEmpty() const ";
 // File: classgdcm_1_1network_1_1DIMSE.xml
 %feature("docstring") gdcm::network::DIMSE "
 
-DIMSE PS 3.7 - 2009 Annex E Command Dictionary (Normative) E.1
-REGISTRY OF DICOM COMMAND ELEMENTS Table E.1-1 COMMAND FIELDS (PART 1)
+DIMSE.
+
+PS 3.7 - 2009 Annex E Command Dictionary (Normative) E.1 REGISTRY OF
+DICOM COMMAND ELEMENTS Table E.1-1 COMMAND FIELDS (PART 1)
 
 C++ includes: gdcmDIMSE.h ";
 
@@ -3345,15 +3396,17 @@ Print. ";
 // File: classgdcm_1_1DirectoryHelper.xml
 %feature("docstring") gdcm::DirectoryHelper "
 
-DirectoryHelper this class is designed to help mitigate some of the
-commonly performed operations on directories. namely: 1) the ability
-to determine the number of series in a directory by what type of
-series is present 2) the ability to find all ct series in a directory
-3) the ability to find all mr series in a directory 4) to load a set
-of DataSets from a series that's already been sorted by the IPP sorter
-5) For rtstruct stuff, you need to know the sopinstanceuid of each z
-plane, so there's a retrieval function for that 6) then a few other
-functions for rtstruct writeouts.
+DirectoryHelper.
+
+this class is designed to help mitigate some of the commonly performed
+operations on directories. namely: 1) the ability to determine the
+number of series in a directory by what type of series is present 2)
+the ability to find all ct series in a directory 3) the ability to
+find all mr series in a directory 4) to load a set of DataSets from a
+series that's already been sorted by the IPP sorter 5) For rtstruct
+stuff, you need to know the sopinstanceuid of each z plane, so there's
+a retrieval function for that 6) then a few other functions for
+rtstruct writeouts
 
 C++ includes: gdcmDirectoryHelper.h ";
 
@@ -3789,10 +3842,12 @@ C++ includes: gdcmFiducials.h ";
 // File: classgdcm_1_1File.xml
 %feature("docstring") gdcm::File "
 
-a DICOM File See PS 3.10 File: A File is an ordered string of zero or
-more bytes, where the first byte is at the beginning of the file and
-the last byte at the end of the File. Files are identified by a unique
-File ID and may by written, read and/or deleted.
+a DICOM File
+
+See PS 3.10 File: A File is an ordered string of zero or more bytes,
+where the first byte is at the beginning of the file and the last byte
+at the end of the File. Files are identified by a unique File ID and
+may by written, read and/or deleted.
 
 See:   Reader Writer
 
@@ -3973,9 +4028,11 @@ Specify the Target Transfer Syntax. ";
 // File: classgdcm_1_1FileDecompressLookupTable.xml
 %feature("docstring") gdcm::FileDecompressLookupTable "
 
-FileDecompressLookupTable class It decompress the segmented LUT into
-linearized one (only PALETTE_COLOR images) Output will be a
-PhotometricInterpretation=RGB image.
+FileDecompressLookupTable class.
+
+It decompress the segmented LUT into linearized one (only
+PALETTE_COLOR images) Output will be a PhotometricInterpretation=RGB
+image
 
 C++ includes: gdcmFileDecompressLookupTable.h ";
 
@@ -4007,8 +4064,10 @@ Set/Get File. ";
 // File: classgdcm_1_1FileDerivation.xml
 %feature("docstring") gdcm::FileDerivation "
 
-FileDerivation class See PS 3.16 - 2008 For the list of Code Value
-that can be used for in Derivation Code Sequence.
+FileDerivation class.
+
+See PS 3.16 - 2008 For the list of Code Value that can be used for in
+Derivation Code Sequence
 
 URL:http://medical.nema.org/medical/dicom/2008/08_16pu.pdf
 
@@ -4075,11 +4134,13 @@ Specify the Purpose Of Reference Code Value. Eg. 121320. ";
 // File: classgdcm_1_1FileExplicitFilter.xml
 %feature("docstring") gdcm::FileExplicitFilter "
 
-FileExplicitFilter class After changing a file from Implicit to
-Explicit representation (see ImageChangeTransferSyntax) one operation
-is to make sure the VR of each DICOM attribute are accurate and do
-match the one from PS 3.6. Indeed when a file is written in Implicit
-reprensentation, the VR is not stored directly in the file.
+FileExplicitFilter class.
+
+After changing a file from Implicit to Explicit representation (see
+ImageChangeTransferSyntax) one operation is to make sure the VR of
+each DICOM attribute are accurate and do match the one from PS 3.6.
+Indeed when a file is written in Implicit reprensentation, the VR is
+not stored directly in the file.
 
 WARNING:  changing an implicit dataset to an explicit dataset is NOT a
 trivial task of simply changing the VR to the dict one: One has to
@@ -4282,8 +4343,9 @@ Convert forward slash (UNIX style) to windows style slash. ";
 // File: classgdcm_1_1FileNameEvent.xml
 %feature("docstring") gdcm::FileNameEvent "
 
-FileNameEvent Special type of event triggered during processing of
-FileSet.
+FileNameEvent.
+
+Special type of event triggered during processing of FileSet
 
 See:   AnyEvent
 
@@ -4406,8 +4468,10 @@ gdcm::FileSet::SetFiles(FilesType const &files) ";
 // File: classgdcm_1_1FileStreamer.xml
 %feature("docstring") gdcm::FileStreamer "
 
-FileStreamer This class let a user create a massive DICOM DataSet from
-a template DICOM file, by appending chunks of data.
+FileStreamer.
+
+This class let a user create a massive DICOM DataSet from a template
+DICOM file, by appending chunks of data.
 
 This class support two mode of operation: Creating a single
 DataElement by appending chunk after chunk of data.
@@ -4523,8 +4587,10 @@ C++ includes: gdcmSerieHelper.h ";
 // File: classgdcm_1_1FindPatientRootQuery.xml
 %feature("docstring") gdcm::FindPatientRootQuery "
 
-PatientRootQuery contains: the class which will produce a dataset for
-c-find with patient root.
+PatientRootQuery.
+
+contains: the class which will produce a dataset for c-find with
+patient root
 
 C++ includes: gdcmFindPatientRootQuery.h ";
 
@@ -4571,8 +4637,10 @@ and study level can be passed along as well. ";
 // File: classgdcm_1_1FindStudyRootQuery.xml
 %feature("docstring") gdcm::FindStudyRootQuery "
 
-FindStudyRootQuery contains: the class which will produce a dataset
-for C-FIND with study root.
+FindStudyRootQuery.
+
+contains: the class which will produce a dataset for C-FIND with study
+root
 
 C++ includes: gdcmFindStudyRootQuery.h ";
 
@@ -4716,12 +4784,14 @@ gdcm::GroupDict::Size() const ";
 // File: classgdcm_1_1IconImageFilter.xml
 %feature("docstring") gdcm::IconImageFilter "
 
-IconImageFilter This filter will extract icons from a File This filter
-will loop over all known sequence (public and private) that may
-contains an IconImage and retrieve them. The filter will fails with a
-value of false if no icon can be found Since it handle both public and
-private icon type, one should not assume the icon is in uncompress
-form, some private vendor store private icon in JPEG8/JPEG12.
+IconImageFilter.
+
+This filter will extract icons from a File This filter will loop over
+all known sequence (public and private) that may contains an IconImage
+and retrieve them. The filter will fails with a value of false if no
+icon can be found Since it handle both public and private icon type,
+one should not assume the icon is in uncompress form, some private
+vendor store private icon in JPEG8/JPEG12
 
 Implementation details: This filter supports the following Icons:
 (0088,0200) Icon Image Sequence
@@ -4774,11 +4844,11 @@ Set/Get File. ";
 // File: classgdcm_1_1IconImageGenerator.xml
 %feature("docstring") gdcm::IconImageGenerator "
 
-IconImageGenerator This filter will generate a valid Icon from the
-Pixel Data element (an instance of Pixmap). To generate a valid Icon,
-one is only allowed the following Photometric Interpretation:
+IconImageGenerator.
 
-MONOCHROME1
+This filter will generate a valid Icon from the Pixel Data element (an
+instance of Pixmap). To generate a valid Icon, one is only allowed the
+following Photometric Interpretation: MONOCHROME1
 
 MONOCHROME2
 
@@ -4864,10 +4934,10 @@ Set/Get File. ";
 // File: classgdcm_1_1Image.xml
 %feature("docstring") gdcm::Image "
 
-Image This is the container for an Image in the general sense. From
-this container you should be able to request information like:
+Image.
 
-Origin
+This is the container for an Image in the general sense. From this
+container you should be able to request information like: Origin
 
 Dimension
 
@@ -4972,9 +5042,10 @@ gdcm::Image::SetSpacing(unsigned int idx, double spacing) ";
 // File: classgdcm_1_1ImageApplyLookupTable.xml
 %feature("docstring") gdcm::ImageApplyLookupTable "
 
-ImageApplyLookupTable class It applies the LUT the PixelData (only
-PALETTE_COLOR images) Output will be a PhotometricInterpretation=RGB
-image.
+ImageApplyLookupTable class.
+
+It applies the LUT the PixelData (only PALETTE_COLOR images) Output
+will be a PhotometricInterpretation=RGB image
 
 C++ includes: gdcmImageApplyLookupTable.h ";
 
@@ -4993,8 +5064,9 @@ Apply. ";
 // File: classgdcm_1_1ImageChangePhotometricInterpretation.xml
 %feature("docstring") gdcm::ImageChangePhotometricInterpretation "
 
-ImageChangePhotometricInterpretation class Class to change the
-Photometric Interpetation of an input DICOM.
+ImageChangePhotometricInterpretation class.
+
+Class to change the Photometric Interpetation of an input DICOM
 
 C++ includes: gdcmImageChangePhotometricInterpretation.h ";
 
@@ -5032,9 +5104,11 @@ Set/Get requested PhotometricInterpretation. ";
 // File: classgdcm_1_1ImageChangePlanarConfiguration.xml
 %feature("docstring") gdcm::ImageChangePlanarConfiguration "
 
-ImageChangePlanarConfiguration class Class to change the Planar
-configuration of an input DICOM By default it will change into the
-more usual reprensentation: PlanarConfiguration = 0.
+ImageChangePlanarConfiguration class.
+
+Class to change the Planar configuration of an input DICOM By default
+it will change into the more usual reprensentation:
+PlanarConfiguration = 0
 
 C++ includes: gdcmImageChangePlanarConfiguration.h ";
 
@@ -5067,8 +5141,9 @@ Set/Get requested PlanarConfigation. ";
 // File: classgdcm_1_1ImageChangeTransferSyntax.xml
 %feature("docstring") gdcm::ImageChangeTransferSyntax "
 
-ImageChangeTransferSyntax class Class to change the transfer syntax of
-an input DICOM.
+ImageChangeTransferSyntax class.
+
+Class to change the transfer syntax of an input DICOM
 
 If only Force param is set but no input TransferSyntax is set, it is
 assumed that user only wants to inspect encapsulated stream (advanced
@@ -5261,8 +5336,10 @@ gdcm::ImageConverter::SetInput(Image const &input) ";
 // File: classgdcm_1_1ImageFragmentSplitter.xml
 %feature("docstring") gdcm::ImageFragmentSplitter "
 
-ImageFragmentSplitter class For single frame image, DICOM standard
-allow splitting the frame into multiple fragments.
+ImageFragmentSplitter class.
+
+For single frame image, DICOM standard allow splitting the frame into
+multiple fragments
 
 C++ includes: gdcmImageFragmentSplitter.h ";
 
@@ -5353,16 +5430,15 @@ The input DICOM file does not contains an Image. ";
 // File: classgdcm_1_1ImageRegionReader.xml
 %feature("docstring") gdcm::ImageRegionReader "
 
-ImageRegionReader This class is able to read a region from a DICOM
-file containing an image. This implementation requires that the
-information stored in the DICOM header are consistent with what is in
-the encapsulated Pixel Data. This is technically not required by DICOM
-standard, which makes this implementation illegal with regards to the
-famous JPEG
-note:http://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_8.2.html
-#para_4bcb841e-c6bf-4e26-82a5-3fad3c942da0.
+ImageRegionReader.
 
-See:   ImageReader
+This class is able to read a region from a DICOM file containing an
+image. This implementation requires that the information stored in the
+DICOM header are consistent with what is in the encapsulated Pixel
+Data. This is technically not required by DICOM standard, which makes
+this implementation illegal with regards to the famous JPEG
+note:http://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_8.2.html
+#para_4bcb841e-c6bf-4e26-82a5-3fad3c942da0 See:   ImageReader
 
 C++ includes: gdcmImageRegionReader.h ";
 
@@ -5400,8 +5476,10 @@ Set/Get Region to be read. ";
 // File: classgdcm_1_1ImageToImageFilter.xml
 %feature("docstring") gdcm::ImageToImageFilter "
 
-ImageToImageFilter class Super class for all filter taking an image
-and producing an output image.
+ImageToImageFilter class.
+
+Super class for all filter taking an image and producing an output
+image
 
 C++ includes: gdcmImageToImageFilter.h ";
 
@@ -5453,8 +5531,10 @@ Write. ";
 // File: classgdcm_1_1network_1_1ImplementationClassUIDSub.xml
 %feature("docstring") gdcm::network::ImplementationClassUIDSub "
 
-ImplementationClassUIDSub PS 3.7 Table D.3-1 IMPLEMENTATION CLASS UID
-SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
+ImplementationClassUIDSub.
+
+PS 3.7 Table D.3-1 IMPLEMENTATION CLASS UID SUB-ITEM FIELDS (A
+-ASSOCIATE-RQ)
 
 C++ includes: gdcmImplementationClassUIDSub.h ";
 
@@ -5482,8 +5562,9 @@ const ";
 // File: classgdcm_1_1network_1_1ImplementationUIDSub.xml
 %feature("docstring") gdcm::network::ImplementationUIDSub "
 
-ImplementationUIDSub Table D.3-2 IMPLEMENTATION UID SUB-ITEM FIELDS (A
--ASSOCIATE-AC)
+ImplementationUIDSub.
+
+Table D.3-2 IMPLEMENTATION UID SUB-ITEM FIELDS (A-ASSOCIATE-AC)
 
 C++ includes: gdcmImplementationUIDSub.h ";
 
@@ -5497,8 +5578,10 @@ gdcm::network::ImplementationUIDSub::Write(std::ostream &os) const ";
 // File: classgdcm_1_1network_1_1ImplementationVersionNameSub.xml
 %feature("docstring") gdcm::network::ImplementationVersionNameSub "
 
-ImplementationVersionNameSub Table D.3-3 IMPLEMENTATION VERSION NAME
-SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
+ImplementationVersionNameSub.
+
+Table D.3-3 IMPLEMENTATION VERSION NAME SUB-ITEM FIELDS (A-ASSOCIATE-
+RQ)
 
 C++ includes: gdcmImplementationVersionNameSub.h ";
 
@@ -5692,14 +5775,15 @@ gdcm::IODs::GetIOD(const char *name) const ";
 // File: classgdcm_1_1IPPSorter.xml
 %feature("docstring") gdcm::IPPSorter "
 
-IPPSorter Implement a simple Image Position ( Patient) sorter, along
-the Image Orientation ( Patient) direction. This algorithm does NOT
-support duplicate and will FAIL in case of duplicate IPP.
+IPPSorter.
 
-WARNING:  See special note for SetZSpacingTolerance when computing the
-ZSpacing from the IPP of each DICOM files (default tolerance for
-consistent spacing is: 1e-6mm)  For more information on Spacing, and
-how it is defined in DICOM, advanced users may refers to:
+Implement a simple Image Position ( Patient) sorter, along the Image
+Orientation ( Patient) direction. This algorithm does NOT support
+duplicate and will FAIL in case of duplicate IPP. WARNING:  See
+special note for SetZSpacingTolerance when computing the ZSpacing from
+the IPP of each DICOM files (default tolerance for consistent spacing
+is: 1e-6mm)  For more information on Spacing, and how it is defined in
+DICOM, advanced users may refers to:
 
 http://gdcm.sourceforge.net/wiki/index.php/Imager_Pixel_Spacing
 
@@ -5780,16 +5864,16 @@ deduce if file are actually a 3D volume ";
 // File: classgdcm_1_1Item.xml
 %feature("docstring") gdcm::Item "
 
-Class to represent an Item A component of the value of a Data Element
-that is of Value Representation Sequence of Items. An Item contains a
-Data Set . See PS 3.5 7.5.1 Item Encoding Rules Each Item of a Data
-Element of VR SQ shall be encoded as a DICOM Standart Data Element
-with a specific Data Element Tag of Value (FFFE,E000). The Item Tag is
-followed by a 4 byte Item Length field encoded in one of the following
-two ways Explicit/ Implicit.
+Class to represent an Item.
 
-ITEM: A component of the Value of a Data Element that is of Value
-Representation Sequence of Items. An Item contains a Data Set.
+A component of the value of a Data Element that is of Value
+Representation Sequence of Items. An Item contains a Data Set . See PS
+3.5 7.5.1 Item Encoding Rules Each Item of a Data Element of VR SQ
+shall be encoded as a DICOM Standart Data Element with a specific Data
+Element Tag of Value (FFFE,E000). The Item Tag is followed by a 4 byte
+Item Length field encoded in one of the following two ways Explicit/
+Implicit ITEM: A component of the Value of a Data Element that is of
+Value Representation Sequence of Items. An Item contains a Data Set.
 
 C++ includes: gdcmItem.h ";
 
@@ -5979,11 +6063,13 @@ std::ostream &os) ";
 // File: classgdcm_1_1JPEGCodec.xml
 %feature("docstring") gdcm::JPEGCodec "
 
-JPEG codec Class to do JPEG (8bits, 12bits, 16bits lossy & lossless).
-It redispatch in between the different codec implementation:
-JPEG8Codec, JPEG12Codec & JPEG16Codec It also support inconsistency in
-between DICOM header and JPEG compressed stream ImageCodec
-implementation for the JPEG case.
+JPEG codec.
+
+Class to do JPEG (8bits, 12bits, 16bits lossy & lossless). It
+redispatch in between the different codec implementation: JPEG8Codec,
+JPEG12Codec & JPEG16Codec It also support inconsistency in between
+DICOM header and JPEG compressed stream ImageCodec implementation for
+the JPEG case
 
 Things you should know if you ever want to dive into DICOM/JPEG world
 (among other):
@@ -6063,7 +6149,7 @@ JPEG-LS.
 
 codec that implement the JPEG-LS compression this is an implementation
 of ImageCodec for JPEG-LS  It uses the CharLS JPEG-LS
-implementationhttp://charls.codeplex.com
+implementationhttps://github.com/team-charls/charls
 
 C++ includes: gdcmJPEGLSCodec.h ";
 
@@ -6405,8 +6491,9 @@ gdcm::Macros::IsEmpty() const ";
 // File: classgdcm_1_1network_1_1MaximumLengthSub.xml
 %feature("docstring") gdcm::network::MaximumLengthSub "
 
-MaximumLengthSub Annex D Table D.1-1 MAXIMUM LENGTH SUB-ITEM FIELDS (A
--ASSOCIATE-RQ)
+MaximumLengthSub.
+
+Annex D Table D.1-1 MAXIMUM LENGTH SUB-ITEM FIELDS (A-ASSOCIATE-RQ)
 
 or
 
@@ -6551,8 +6638,9 @@ TConstMemberFunctionPointer memberFunction) ";
 // File: classgdcm_1_1MeshPrimitive.xml
 %feature("docstring") gdcm::MeshPrimitive "
 
-This class defines surface mesh primitives. It is designed from
-surface mesh primitives macro.
+This class defines surface mesh primitives.
+
+It is designed from surface mesh primitives macro.
 
 See:  PS 3.3 C.27.4
 
@@ -6608,9 +6696,10 @@ gdcm::MeshPrimitive::SetPrimitiveType(const MPType type) ";
 %feature("docstring") gdcm::ModalityPerformedProcedureStepCreateQuery
 "
 
-ModalityPerformedProcedureStepCreateQuery contains: the class which
-will produce a dataset for n-create for Modality Performed Procedure
-Step sop class.
+ModalityPerformedProcedureStepCreateQuery.
+
+contains: the class which will produce a dataset for n-create for
+Modality Performed Procedure Step sop class
 
 C++ includes: gdcmModalityPerformedProcedureStepCreateQuery.h ";
 
@@ -6639,9 +6728,10 @@ inStrict=true) const ";
 // File: classgdcm_1_1ModalityPerformedProcedureStepSetQuery.xml
 %feature("docstring") gdcm::ModalityPerformedProcedureStepSetQuery "
 
-ModalityPerformedProcedureStepSetQuery contains: the class which will
-produce a dataset for n-set for Modality Performed Procedure Step sop
-class.
+ModalityPerformedProcedureStepSetQuery.
+
+contains: the class which will produce a dataset for n-set for
+Modality Performed Procedure Step sop class
 
 C++ includes: gdcmModalityPerformedProcedureStepSetQuery.h ";
 
@@ -6785,8 +6875,10 @@ gdcm::Modules::IsEmpty() const ";
 // File: classgdcm_1_1MovePatientRootQuery.xml
 %feature("docstring") gdcm::MovePatientRootQuery "
 
-MovePatientRootQuery contains: the class which will produce a dataset
-for c-move with patient root.
+MovePatientRootQuery.
+
+contains: the class which will produce a dataset for c-move with
+patient root
 
 C++ includes: gdcmMovePatientRootQuery.h ";
 
@@ -6833,8 +6925,10 @@ and study level can be passed along as well. ";
 // File: classgdcm_1_1MoveStudyRootQuery.xml
 %feature("docstring") gdcm::MoveStudyRootQuery "
 
-MoveStudyRootQuery contains: the class which will produce a dataset
-for C-MOVE with study root.
+MoveStudyRootQuery.
+
+contains: the class which will produce a dataset for C-MOVE with study
+root
 
 C++ includes: gdcmMoveStudyRootQuery.h ";
 
@@ -6880,7 +6974,9 @@ and study level can be passed along as well. ";
 // File: classgdcm_1_1network_1_1NActionRQ.xml
 %feature("docstring") gdcm::network::NActionRQ "
 
-NActionRQ this file defines the messages for the NAction action.
+NActionRQ.
+
+this file defines the messages for the NAction action
 
 C++ includes: gdcmNActionMessages.h ";
 
@@ -6905,7 +7001,9 @@ gdcm::network::NActionRSP::ConstructPDVByDataSet(const DataSet
 // File: classgdcm_1_1network_1_1NCreateRQ.xml
 %feature("docstring") gdcm::network::NCreateRQ "
 
-NCreateRQ this file defines the messages for the ncreate action.
+NCreateRQ.
+
+this file defines the messages for the ncreate action
 
 C++ includes: gdcmNCreateMessages.h ";
 
@@ -6930,7 +7028,9 @@ gdcm::network::NCreateRSP::ConstructPDVByDataSet(const DataSet
 // File: classgdcm_1_1network_1_1NDeleteRQ.xml
 %feature("docstring") gdcm::network::NDeleteRQ "
 
-NDeleteRQ this file defines the messages for the ndelete action.
+NDeleteRQ.
+
+this file defines the messages for the ndelete action
 
 C++ includes: gdcmNDeleteMessages.h ";
 
@@ -6984,8 +7084,9 @@ gdcm::NestedModuleEntries::GetNumberOfModuleEntries() ";
 // File: classgdcm_1_1network_1_1NEventReportRQ.xml
 %feature("docstring") gdcm::network::NEventReportRQ "
 
-NEventReportRQ this file defines the messages for the neventreport
-action.
+NEventReportRQ.
+
+this file defines the messages for the neventreport action
 
 C++ includes: gdcmNEventReportMessages.h ";
 
@@ -7011,7 +7112,9 @@ gdcm::network::NEventReportRSP::ConstructPDVByDataSet(const DataSet
 // File: classgdcm_1_1network_1_1NGetRQ.xml
 %feature("docstring") gdcm::network::NGetRQ "
 
-NGetRQ this file defines the messages for the nget action.
+NGetRQ.
+
+this file defines the messages for the nget action
 
 C++ includes: gdcmNGetMessages.h ";
 
@@ -7048,20 +7151,20 @@ includes: gdcmNormalizedMessageFactory.h ";
 // File: classgdcm_1_1NormalizedNetworkFunctions.xml
 %feature("docstring") gdcm::NormalizedNetworkFunctions "
 
-Normalized Network Functions These functions provide a generic API to
-the DICOM functions implemented in GDCM. Advanced users can use this
-code as a template for building their own versions of these functions
-(for instance, to provide progress bars or some other way of handling
-returned query information), but for most users, these functions
-should be sufficient to interface with a PACS to a local machine. Note
-that these functions are not contained within a static class or some
-other class-style interface, because multiple connections can be
-instantiated in the same program. The DICOM standard is much more
-function oriented rather than class oriented in this instance, so the
-design of this API reflects that functional approach. These functions
-implements the following SCU operations:
-
-N-EVENT-REPORT
+Normalized Network Functions.
+
+These functions provide a generic API to the DICOM functions
+implemented in GDCM. Advanced users can use this code as a template
+for building their own versions of these functions (for instance, to
+provide progress bars or some other way of handling returned query
+information), but for most users, these functions should be sufficient
+to interface with a PACS to a local machine. Note that these functions
+are not contained within a static class or some other class-style
+interface, because multiple connections can be instantiated in the
+same program. The DICOM standard is much more function oriented rather
+than class oriented in this instance, so the design of this API
+reflects that functional approach. These functions implements the
+following SCU operations: N-EVENT-REPORT
 
 N-GET
 
@@ -7079,7 +7182,9 @@ C++ includes: gdcmNormalizedNetworkFunctions.h ";
 // File: classgdcm_1_1network_1_1NSetRQ.xml
 %feature("docstring") gdcm::network::NSetRQ "
 
-NSetRQ this file defines the messages for the nset action.
+NSetRQ.
+
+this file defines the messages for the nset action
 
 C++ includes: gdcmNSetMessages.h ";
 
@@ -7208,7 +7313,7 @@ gdcm::OpenSSLP7CryptoFactory::CreateCMSProvider() ";
 %feature("docstring") gdcm::OpenSSLP7CryptographicMessageSyntax "
 
 Class for CryptographicMessageSyntax encryption. This is just a simple
-wrapper around openssl PKCS7_encrypt functionalities.
+wrapper around openssl PKCS7_encrypt functionalities
 
 See online
 documentationhttp://www.openssl.org/docs/crypto/PKCS7_encrypt.html
@@ -7526,7 +7631,9 @@ C++ includes: gdcmPatient.h ";
 // File: classgdcm_1_1network_1_1PDataTFPDU.xml
 %feature("docstring") gdcm::network::PDataTFPDU "
 
-PDataTFPDU Table 9-22 P-DATA-TF PDU FIELDS.
+PDataTFPDU.
+
+Table 9-22 P-DATA-TF PDU FIELDS
 
 C++ includes: gdcmPDataTFPDU.h ";
 
@@ -7668,9 +7775,10 @@ Decode. ";
 // File: classgdcm_1_1network_1_1PDUFactory.xml
 %feature("docstring") gdcm::network::PDUFactory "
 
-PDUFactory basically, given an initial byte, construct the appropriate
-PDU. This way, the event loop doesn't have to know about all the
-different PDU types.
+PDUFactory basically, given an initial byte, construct the.
+
+appropriate PDU. This way, the event loop doesn't have to know about
+all the different PDU types.
 
 C++ includes: gdcmPDUFactory.h ";
 
@@ -7705,8 +7813,9 @@ gdcm::PersonName::SetComponents(const char *components[]) ";
 // File: classgdcm_1_1PGXCodec.xml
 %feature("docstring") gdcm::PGXCodec "
 
-Class to do PGX See PGX as used in JPEG 2000 implementation and
-reference images.
+Class to do PGX.
+
+See PGX as used in JPEG 2000 implementation and reference images
 
 C++ includes: gdcmPGXCodec.h ";
 
@@ -7895,9 +8004,11 @@ call SetScalarType before SetSamplesPerPixel ";
 // File: classgdcm_1_1Pixmap.xml
 %feature("docstring") gdcm::Pixmap "
 
-Pixmap class A bitmap based image. Used as parent for both IconImage
-and the main Pixel Data Image It does not contains any World Space
-information (IPP, IOP)
+Pixmap class.
+
+A bitmap based image. Used as parent for both IconImage and the main
+Pixel Data Image It does not contains any World Space information
+(IPP, IOP)
 
 See:   PixmapReader
 
@@ -8002,8 +8113,10 @@ The input DICOM file does not contains an Pixmap. ";
 // File: classgdcm_1_1PixmapToPixmapFilter.xml
 %feature("docstring") gdcm::PixmapToPixmapFilter "
 
-PixmapToPixmapFilter class Super class for all filter taking an image
-and producing an output image.
+PixmapToPixmapFilter class.
+
+Super class for all filter taking an image and producing an output
+image
 
 C++ includes: gdcmPixmapToPixmapFilter.h ";
 
@@ -8027,9 +8140,9 @@ Get Output image. ";
 // File: classgdcm_1_1PixmapWriter.xml
 %feature("docstring") gdcm::PixmapWriter "
 
-PixmapWriter This class will takes two inputs:
+PixmapWriter.
 
-The DICOM DataSet
+This class will takes two inputs: The DICOM DataSet
 
 The Image input It will override any info from the Image over the
 DataSet.
@@ -8074,10 +8187,11 @@ Write. ";
 // File: classgdcm_1_1PNMCodec.xml
 %feature("docstring") gdcm::PNMCodec "
 
-Class to do PNM PNM is the Portable anymap file format. The main web
-page can be found at:http://netpbm.sourceforge.net/.
+Class to do PNM.
 
-Only support P5 & P6 PNM file (binary grayscale and binary rgb)
+PNM is the Portable anymap file format. The main web page can be found
+at:http://netpbm.sourceforge.net/ Only support P5 & P6 PNM file
+(binary grayscale and binary rgb)
 
 C++ includes: gdcmPNMCodec.h ";
 
@@ -8131,34 +8245,50 @@ C++ includes: gdcmPreamble.h ";
 %feature("docstring")  gdcm::Preamble::~Preamble "gdcm::Preamble::~Preamble() ";
 
 %feature("docstring")  gdcm::Preamble::Clear "void
-gdcm::Preamble::Clear() ";
+gdcm::Preamble::Clear()
+
+Clear. ";
 
 %feature("docstring")  gdcm::Preamble::Create "void
 gdcm::Preamble::Create() ";
 
 %feature("docstring")  gdcm::Preamble::GetInternal "const char*
-gdcm::Preamble::GetInternal() const ";
+gdcm::Preamble::GetInternal() const
+
+Get internal pointer to preamble. ";
 
 %feature("docstring")  gdcm::Preamble::GetLength "VL
-gdcm::Preamble::GetLength() const ";
+gdcm::Preamble::GetLength() const
+
+Return size of Preamble. ";
 
 %feature("docstring")  gdcm::Preamble::IsEmpty "bool
-gdcm::Preamble::IsEmpty() const ";
+gdcm::Preamble::IsEmpty() const
+
+Check if Preamble is empty. ";
 
 %feature("docstring")  gdcm::Preamble::Print "void
-gdcm::Preamble::Print(std::ostream &os) const ";
+gdcm::Preamble::Print(std::ostream &os) const
+
+Print Preamble. ";
 
 %feature("docstring")  gdcm::Preamble::Read "std::istream&
-gdcm::Preamble::Read(std::istream &is) ";
+gdcm::Preamble::Read(std::istream &is)
+
+Read Preamble. ";
 
 %feature("docstring")  gdcm::Preamble::Remove "void
 gdcm::Preamble::Remove() ";
 
 %feature("docstring")  gdcm::Preamble::Valid "void
-gdcm::Preamble::Valid() ";
+gdcm::Preamble::Valid()
+
+Set Preamble to the default one. ";
 
 %feature("docstring")  gdcm::Preamble::Write "std::ostream const&
-gdcm::Preamble::Write(std::ostream &os) const ";
+gdcm::Preamble::Write(std::ostream &os) const
+
+Write Preamble. ";
 
 
 // File: classgdcm_1_1PresentationContext.xml
@@ -8212,9 +8342,9 @@ gdcm::PresentationContext::SetPresentationContextID(uint8_t id) ";
 // File: classgdcm_1_1network_1_1PresentationContextAC.xml
 %feature("docstring") gdcm::network::PresentationContextAC "
 
-PresentationContextAC Table 9-18 PRESENTATION CONTEXT ITEM FIELDS.
+PresentationContextAC.
 
-See:   PresentationContext
+Table 9-18 PRESENTATION CONTEXT ITEM FIELDS See:   PresentationContext
 
 C++ includes: gdcmPresentationContextAC.h ";
 
@@ -8261,12 +8391,13 @@ gdcm::network::PresentationContextAC::Write(std::ostream &os) const ";
 // File: classgdcm_1_1PresentationContextGenerator.xml
 %feature("docstring") gdcm::PresentationContextGenerator "
 
-PresentationContextGenerator This class is responsible for generating
-the proper PresentationContext that will be used in subsequent
-operation during a DICOM Query/Retrieve association. The step of the
-association is very sensible as special care need to be taken to
-explicitly define what instance are going to be send and how they are
-encoded.
+PresentationContextGenerator.
+
+This class is responsible for generating the proper
+PresentationContext that will be used in subsequent operation during a
+DICOM Query/Retrieve association. The step of the association is very
+sensible as special care need to be taken to explicitly define what
+instance are going to be send and how they are encoded.
 
 For example a PresentationContext will express that negotiation
 requires that CT Image Storage are send using JPEG Lossless, while US
@@ -8341,9 +8472,10 @@ gdcm::PresentationContextGenerator::SetMergeModeToTransferSyntax() ";
 // File: classgdcm_1_1network_1_1PresentationContextRQ.xml
 %feature("docstring") gdcm::network::PresentationContextRQ "
 
-PresentationContextRQ Table 9-13 PRESENTATION CONTEXT ITEM FIELDS.
+PresentationContextRQ.
 
-See:   PresentationContextAC
+Table 9-13 PRESENTATION CONTEXT ITEM FIELDS See:
+PresentationContextAC
 
 C++ includes: gdcmPresentationContextRQ.h ";
 
@@ -8424,7 +8556,9 @@ gdcm::network::PresentationContextRQ::Write(std::ostream &os) const ";
 // File: classgdcm_1_1network_1_1PresentationDataValue.xml
 %feature("docstring") gdcm::network::PresentationDataValue "
 
-PresentationDataValue Table 9-23 PRESENTATION-DATA-VALUE ITEM FIELDS.
+PresentationDataValue.
+
+Table 9-23 PRESENTATION-DATA-VALUE ITEM FIELDS
 
 C++ includes: gdcmPresentationDataValue.h ";
 
@@ -8608,7 +8742,9 @@ gdcm::PrivateTag::SetOwner(const char *owner) ";
 // File: classgdcm_1_1ProgressEvent.xml
 %feature("docstring") gdcm::ProgressEvent "
 
-ProgressEvent Special type of event triggered during.
+ProgressEvent.
+
+Special type of event triggered during
 
 See:   AnyEvent
 
@@ -8727,8 +8863,10 @@ gdcm::PythonFilter::UseDictAlways(bool) ";
 // File: classgdcm_1_1QueryBase.xml
 %feature("docstring") gdcm::QueryBase "
 
-QueryBase contains: the base class for constructing a query dataset
-for a C-FIND and a C-MOVE.
+QueryBase.
+
+contains: the base class for constructing a query dataset for a C-FIND
+and a C-MOVE
 
 There are four levels of C-FIND and C-MOVE query:  Patient
 
@@ -8801,9 +8939,11 @@ std::vector<Tag> gdcm::QueryBase::GetUniqueTags(const ERootType
 QueryFactory.h.
 
 contains: a class to produce a query based off of user-entered
-information  Essentially, this class is used to construct a query
-based off of user input (typically from the command line; if in code
-directly, the query itself could just be instantiated)
+information
+
+Essentially, this class is used to construct a query based off of user
+input (typically from the command line; if in code directly, the query
+itself could just be instantiated)
 
 In theory, could also be used as the interface to validate incoming
 datasets as belonging to a particular query style
@@ -8814,8 +8954,10 @@ C++ includes: gdcmQueryFactory.h ";
 // File: classgdcm_1_1QueryImage.xml
 %feature("docstring") gdcm::QueryImage "
 
-QueryImage contains: class to construct an image-based query for
-C-FIND and C-MOVE.
+QueryImage.
+
+contains: class to construct an image-based query for C-FIND and
+C-MOVE
 
 C++ includes: gdcmQueryImage.h ";
 
@@ -8844,8 +8986,10 @@ gdcm::QueryImage::GetQueryLevel() const ";
 // File: classgdcm_1_1QueryPatient.xml
 %feature("docstring") gdcm::QueryPatient "
 
-QueryPatient contains: class to construct a patient-based query for
-c-find and c-move.
+QueryPatient.
+
+contains: class to construct a patient-based query for c-find and
+c-move
 
 C++ includes: gdcmQueryPatient.h ";
 
@@ -8874,8 +9018,10 @@ gdcm::QueryPatient::GetQueryLevel() const ";
 // File: classgdcm_1_1QuerySeries.xml
 %feature("docstring") gdcm::QuerySeries "
 
-QuerySeries contains: class to construct a series-based query for
-c-find and c-move.
+QuerySeries.
+
+contains: class to construct a series-based query for c-find and
+c-move
 
 C++ includes: gdcmQuerySeries.h ";
 
@@ -8904,8 +9050,9 @@ gdcm::QuerySeries::GetQueryLevel() const ";
 // File: classgdcm_1_1QueryStudy.xml
 %feature("docstring") gdcm::QueryStudy "
 
-QueryStudy.h contains: class to construct a study-based query for
-C-FIND and C-MOVE.
+QueryStudy.h.
+
+contains: class to construct a study-based query for C-FIND and C-MOVE
 
 C++ includes: gdcmQueryStudy.h ";
 
@@ -9136,15 +9283,17 @@ Print. ";
 // File: classgdcm_1_1Rescaler.xml
 %feature("docstring") gdcm::Rescaler "
 
-Rescale class This class is meant to apply the linear transform of
-Stored Pixel Value to Real World Value. This is mostly found in CT or
-PET dataset, where the value are stored using one type, but need to be
-converted to another scale using a linear transform. There are
-basically two cases: In CT: the linear transform is generally integer
-based. E.g. the Stored Pixel Type is unsigned short 12bits, but to get
-Hounsfield unit, one need to apply the linear transform: \\\\[ RWV =
-1. * SV - 1024 \\\\] So the best scalar to store the Real World Value
-will be 16 bits signed type.
+Rescale class.
+
+This class is meant to apply the linear transform of Stored Pixel
+Value to Real World Value. This is mostly found in CT or PET dataset,
+where the value are stored using one type, but need to be converted to
+another scale using a linear transform. There are basically two cases:
+In CT: the linear transform is generally integer based. E.g. the
+Stored Pixel Type is unsigned short 12bits, but to get Hounsfield
+unit, one need to apply the linear transform: \\\\[ RWV = 1. * SV -
+1024 \\\\] So the best scalar to store the Real World Value will be 16
+bits signed type.
 
 In PET: the linear transform is generally floating point based. Since
 the dynamic range can be quite high, the Rescale Slope / Rescale
@@ -9293,8 +9442,10 @@ gdcm::RLECodec::SetLength(unsigned long l) ";
 // File: classgdcm_1_1network_1_1RoleSelectionSub.xml
 %feature("docstring") gdcm::network::RoleSelectionSub "
 
-RoleSelectionSub PS 3.7 Table D.3-9 SCP/SCU ROLE SELECTION SUB-ITEM
-FIELDS (A-ASSOCIATE-RQ)
+RoleSelectionSub.
+
+PS 3.7 Table D.3-9 SCP/SCU ROLE SELECTION SUB-ITEM FIELDS (A
+-ASSOCIATE-RQ)
 
 C++ includes: gdcmRoleSelectionSub.h ";
 
@@ -9324,10 +9475,12 @@ const ";
 // File: classgdcm_1_1Scanner.xml
 %feature("docstring") gdcm::Scanner "
 
-Scanner This filter is meant for quickly browsing a FileSet (a set of
-files on disk). Special consideration are taken so as to read the
-mimimum amount of information in each file in order to retrieve the
-user specified set of DICOM Attribute.
+Scanner.
+
+This filter is meant for quickly browsing a FileSet (a set of files on
+disk). Special consideration are taken so as to read the mimimum
+amount of information in each file in order to retrieve the user
+specified set of DICOM Attribute.
 
 This filter is dealing with both VRASCII and VRBINARY element, thanks
 to the help of StringFilter
@@ -9462,8 +9615,10 @@ Start the scan ! ";
 // File: classgdcm_1_1Segment.xml
 %feature("docstring") gdcm::Segment "
 
-This class defines a segment. It mainly contains attributes of group
-0x0062. In addition, it can be associated with surface.
+This class defines a segment.
+
+It mainly contains attributes of group 0x0062. In addition, it can be
+associated with surface.
 
 See:  PS 3.3 C.8.20.2 and C.8.23
 
@@ -9583,8 +9738,9 @@ Initialize a SegmentedPaletteColorLookupTable. ";
 // File: classgdcm_1_1SegmentReader.xml
 %feature("docstring") gdcm::SegmentReader "
 
-This class defines a segment reader. It reads attributes of group
-0x0062.
+This class defines a segment reader.
+
+It reads attributes of group 0x0062.
 
 See:  PS 3.3 C.8.20.2 and C.8.23
 
@@ -9609,8 +9765,9 @@ Read. ";
 // File: classgdcm_1_1SegmentWriter.xml
 %feature("docstring") gdcm::SegmentWriter "
 
-This class defines a segment writer. It writes attributes of group
-0x0062.
+This class defines a segment writer.
+
+It writes attributes of group 0x0062.
 
 See:  PS 3.3 C.8.20.2 and C.8.23
 
@@ -9741,10 +9898,10 @@ gdcm::SequenceOfFragments::WriteBuffer(std::ostream &os) const ";
 // File: classgdcm_1_1SequenceOfItems.xml
 %feature("docstring") gdcm::SequenceOfItems "
 
-Class to represent a Sequence Of Items (value representation : SQ)
+Class to represent a Sequence Of Items.
 
-a Value Representation for Data Elements that contains a sequence of
-Data Sets.
+(value representation : SQ) a Value Representation for Data Elements
+that contains a sequence of Data Sets.
 
 Sequence of Item allows for Nested Data Sets
 
@@ -10127,8 +10284,9 @@ Specify the callback function. ";
 // File: classgdcm_1_1SimpleSubjectWatcher.xml
 %feature("docstring") gdcm::SimpleSubjectWatcher "
 
-SimpleSubjectWatcher This is a typical Subject Watcher class. It will
-observe all events.
+SimpleSubjectWatcher.
+
+This is a typical Subject Watcher class. It will observe all events.
 
 C++ includes: gdcmSimpleSubjectWatcher.h ";
 
@@ -10176,8 +10334,10 @@ Explicit function to retrieve the pointer. ";
 // File: classgdcm_1_1network_1_1SOPClassExtendedNegociationSub.xml
 %feature("docstring") gdcm::network::SOPClassExtendedNegociationSub "
 
-SOPClassExtendedNegociationSub PS 3.7 Table D.3-11 SOP CLASS EXTENDED
-NEGOTIATION SUB-ITEM FIELDS (A-ASSOCIATE-RQ and A-ASSOCIATE-AC)
+SOPClassExtendedNegociationSub.
+
+PS 3.7 Table D.3-11 SOP CLASS EXTENDED NEGOTIATION SUB-ITEM FIELDS (A
+-ASSOCIATE-RQ and A-ASSOCIATE-AC)
 
 C++ includes: gdcmSOPClassExtendedNegociationSub.h ";
 
@@ -10226,8 +10386,10 @@ C++ includes: gdcmSOPClassUIDToIOD.h ";
 // File: classgdcm_1_1Sorter.xml
 %feature("docstring") gdcm::Sorter "
 
-Sorter General class to do sorting using a custom function You simply
-need to provide a function of type: Sorter::SortFunction.
+Sorter.
+
+General class to do sorting using a custom function You simply need to
+provide a function of type: Sorter::SortFunction
 
 WARNING:  implementation details. For now there is no cache mechanism.
 Which means that everytime you call Sort, all files specified as input
@@ -10306,8 +10468,9 @@ differentiate those.
 
 Thank you for your time,
 
-Ref:http://lists.nema.org/scripts/lyris.pl?sub=488573&id=400720477 See
-PS 3.3-2008, Table C.7-11b IMAGE PIXEL MACRO ATTRIBUTES
+Ref:http://lists.nema.org/scripts/lyris.pl?sub=488573&id=400720477
+
+See PS 3.3-2008, Table C.7-11b IMAGE PIXEL MACRO ATTRIBUTES
 
 Ratio of the vertical size and horizontal size of the pixels in the
 image specified by a pair of integer values where the first value is
@@ -10345,9 +10508,11 @@ C++ includes: gdcmSpectroscopy.h ";
 // File: classgdcm_1_1SplitMosaicFilter.xml
 %feature("docstring") gdcm::SplitMosaicFilter "
 
-SplitMosaicFilter class Class to reshuffle bytes for a SIEMENS Mosaic
-image Siemens CSA Image Header CSA:= Common Siemens Architecture,
-sometimes also known as Common syngo Architecture.
+SplitMosaicFilter class.
+
+Class to reshuffle bytes for a SIEMENS Mosaic image Siemens CSA Image
+Header CSA:= Common Siemens Architecture, sometimes also known as
+Common syngo Architecture
 
 C++ includes: gdcmSplitMosaicFilter.h ";
 
@@ -10596,10 +10761,12 @@ ordering of chunks that are written. ";
 // File: classgdcm_1_1StrictScanner.xml
 %feature("docstring") gdcm::StrictScanner "
 
-StrictScanner This filter is meant for quickly browsing a FileSet (a
-set of files on disk). Special consideration are taken so as to read
-the mimimum amount of information in each file in order to retrieve
-the user specified set of DICOM Attribute.
+StrictScanner.
+
+This filter is meant for quickly browsing a FileSet (a set of files on
+disk). Special consideration are taken so as to read the mimimum
+amount of information in each file in order to retrieve the user
+specified set of DICOM Attribute.
 
 This filter is dealing with both VRASCII and VRBINARY element, thanks
 to the help of StringFilter
@@ -10782,10 +10949,11 @@ TDelimiter, TMaxLength, TPadChar >::Truncate() const ";
 // File: classgdcm_1_1StringFilter.xml
 %feature("docstring") gdcm::StringFilter "
 
-StringFilter StringFilter is the class that make gdcm2.x looks more
-like gdcm1 and transform the binary blob contained in a DataElement
-into a string, typically this is a nice feature to have for wrapped
-language.
+StringFilter.
+
+StringFilter is the class that make gdcm2.x looks more like gdcm1 and
+transform the binary blob contained in a DataElement into a string,
+typically this is a nice feature to have for wrapped language
 
 C++ includes: gdcmStringFilter.h ";
 
@@ -10932,8 +11100,9 @@ Remove the observer with this tag value. ";
 // File: classgdcm_1_1Surface.xml
 %feature("docstring") gdcm::Surface "
 
-This class defines a SURFACE IE. This members are taken from required
-surface mesh module attributes.
+This class defines a SURFACE IE.
+
+This members are taken from required surface mesh module attributes.
 
 See:  PS 3.3 A.1.2.18 , A.57 and C.27
 
@@ -11155,7 +11324,9 @@ gdcm::Surface::SetVectorDimensionality(const unsigned short dim) ";
 // File: classgdcm_1_1SurfaceHelper.xml
 %feature("docstring") gdcm::SurfaceHelper "
 
-SurfaceHelper Helper class for Surface object.
+SurfaceHelper.
+
+Helper class for Surface object
 
 C++ includes: gdcmSurfaceHelper.h ";
 
@@ -11163,8 +11334,9 @@ C++ includes: gdcmSurfaceHelper.h ";
 // File: classgdcm_1_1SurfaceReader.xml
 %feature("docstring") gdcm::SurfaceReader "
 
-This class defines a SURFACE IE reader. It reads surface mesh module
-attributes.
+This class defines a SURFACE IE reader.
+
+It reads surface mesh module attributes.
 
 See:  PS 3.3 A.1.2.18 , A.57 and C.27
 
@@ -11186,8 +11358,9 @@ Read. ";
 // File: classgdcm_1_1SurfaceWriter.xml
 %feature("docstring") gdcm::SurfaceWriter "
 
-This class defines a SURFACE IE writer. It writes surface mesh module
-attributes.
+This class defines a SURFACE IE writer.
+
+It writes surface mesh module attributes.
 
 See:  PS 3.3 A.1.2.18 , A.57 and C.27
 
@@ -11349,14 +11522,15 @@ gdcmULTransitionTable.h ";
 %feature("docstring") gdcm::Tag "
 
 Class to represent a DICOM Data Element ( Attribute) Tag (Group,
-Element). Basically an uint32_t which can also be expressed as two
-uint16_t (group and element)
+Element).
 
-DATA ELEMENT TAG: A unique identifier for a Data Element composed of
-an ordered pair of numbers (a Group Number followed by an Element
-Number). GROUP NUMBER: The first number in the ordered pair of numbers
-that makes up a Data Element Tag. ELEMENT NUMBER: The second number in
-the ordered pair of numbers that makes up a Data Element Tag.
+Basically an uint32_t which can also be expressed as two uint16_t
+(group and element) DATA ELEMENT TAG: A unique identifier for a Data
+Element composed of an ordered pair of numbers (a Group Number
+followed by an Element Number). GROUP NUMBER: The first number in the
+ordered pair of numbers that makes up a Data Element Tag. ELEMENT
+NUMBER: The second number in the ordered pair of numbers that makes up
+a Data Element Tag.
 
 C++ includes: gdcmTag.h ";
 
@@ -11658,7 +11832,9 @@ gdcm::TransferSyntax::IsValid() const ";
 // File: classgdcm_1_1network_1_1TransferSyntaxSub.xml
 %feature("docstring") gdcm::network::TransferSyntaxSub "
 
-TransferSyntaxSub Table 9-15 TRANSFER SYNTAX SUB-ITEM FIELDS.
+TransferSyntaxSub.
+
+Table 9-15 TRANSFER SYNTAX SUB-ITEM FIELDS
 
 TODO what is the goal of :
 
@@ -11780,9 +11956,11 @@ and internal state is set to 0 ";
 // File: classgdcm_1_1network_1_1ULAction.xml
 %feature("docstring") gdcm::network::ULAction "
 
-ULAction A ULConnection in a given ULState can perform certain
-ULActions. This base class provides the interface for running those
-ULActions on a given ULConnection.
+ULAction.
+
+A ULConnection in a given ULState can perform certain ULActions. This
+base class provides the interface for running those ULActions on a
+given ULConnection.
 
 Essentially, the ULConnectionManager will take this object, determined
 from the current ULState of the ULConnection, and pass the
@@ -12086,13 +12264,15 @@ EEventID &outRaisedEvent) ";
 // File: classgdcm_1_1network_1_1ULBasicCallback.xml
 %feature("docstring") gdcm::network::ULBasicCallback "
 
-ULBasicCallback This is the most basic of callbacks for how the
-ULConnectionManager handles incoming datasets. DataSets are just
-concatenated to the mDataSets vector, and the result can be pulled out
-of the vector by later code. Alternatives to this method include
-progress updates, saving to disk, etc. This class is NOT THREAD SAFE.
-Access the dataset vector after the entire set of datasets has been
-returned by the ULConnectionManager.
+ULBasicCallback.
+
+This is the most basic of callbacks for how the ULConnectionManager
+handles incoming datasets. DataSets are just concatenated to the
+mDataSets vector, and the result can be pulled out of the vector by
+later code. Alternatives to this method include progress updates,
+saving to disk, etc. This class is NOT THREAD SAFE. Access the dataset
+vector after the entire set of datasets has been returned by the
+ULConnectionManager.
 
 C++ includes: gdcmULBasicCallback.h ";
 
@@ -12120,9 +12300,10 @@ DataSet &inDataSet) ";
 // File: classgdcm_1_1network_1_1ULConnection.xml
 %feature("docstring") gdcm::network::ULConnection "
 
-ULConnection This is the class that contains the socket to another
-machine, and passes data through itself, as well as maintaining a
-sense of state.
+ULConnection.
+
+This is the class that contains the socket to another machine, and
+passes data through itself, as well as maintaining a sense of state.
 
 The ULConnectionManager tells the ULConnection what data can actually
 be sent.
@@ -12283,11 +12464,13 @@ gdcm::network::ULConnectionCallback::SetImplicitFlag(const bool imp)
 // File: classgdcm_1_1network_1_1ULConnectionInfo.xml
 %feature("docstring") gdcm::network::ULConnectionInfo "
 
-ULConnectionInfo this class contains all the information about a
-particular connection as established by the user. That is, it's: User
-Information Calling AE Title Called AE Title IP address/computer name
-IP Port A connection must be established with this information, that's
-subsequently placed into various primitives for actual communication.
+ULConnectionInfo.
+
+this class contains all the information about a particular connection
+as established by the user. That is, it's: User Information Calling AE
+Title Called AE Title IP address/computer name IP Port A connection
+must be established with this information, that's subsequently placed
+into various primitives for actual communication.
 
 C++ includes: gdcmULConnectionInfo.h ";
 
@@ -12332,10 +12515,12 @@ inMaxPDULength) ";
 // File: classgdcm_1_1network_1_1ULConnectionManager.xml
 %feature("docstring") gdcm::network::ULConnectionManager "
 
-ULConnectionManager The ULConnectionManager performs actions on the
-ULConnection given inputs from the user and from the state of what's
-going on around the connection (ie, timeouts of the ARTIM timer,
-responses from the peer across the connection, etc).
+ULConnectionManager.
+
+The ULConnectionManager performs actions on the ULConnection given
+inputs from the user and from the state of what's going on around the
+connection (ie, timeouts of the ARTIM timer, responses from the peer
+across the connection, etc).
 
 Its inputs are ULEvents, and it performs ULActions.
 
@@ -12467,7 +12652,9 @@ callback based API ";
 // File: classgdcm_1_1network_1_1ULEvent.xml
 %feature("docstring") gdcm::network::ULEvent "
 
-ULEvent base class for network events.
+ULEvent.
+
+base class for network events.
 
 An event consists of the event ID and the data associated with that
 event.
@@ -12588,11 +12775,10 @@ bool readvalues=true) ";
 // File: classgdcm_1_1UNExplicitImplicitDataElement.xml
 %feature("docstring") gdcm::UNExplicitImplicitDataElement "
 
-Class to read/write a DataElement as ExplicitImplicit Data Element
-This class gather two known bugs:
+Class to read/write a DataElement as ExplicitImplicit Data Element.
 
-GDCM 1.2.0 would rewrite VR=UN Value Length on 2 bytes instead of 4
-bytes
+This class gather two known bugs: GDCM 1.2.0 would rewrite VR=UN Value
+Length on 2 bytes instead of 4 bytes
 
 GDCM 1.2.0 would also rewrite DataElement as Implicit when the VR
 would not be known this would only happen in some very rare cases.
@@ -12680,7 +12866,9 @@ C++ includes: gdcmUsage.h ";
 // File: classgdcm_1_1network_1_1UserInformation.xml
 %feature("docstring") gdcm::network::UserInformation "
 
-UserInformation Table 9-16 USER INFORMATION ITEM FIELDS.
+UserInformation.
+
+Table 9-16 USER INFORMATION ITEM FIELDS
 
 TODO what is the goal of :
 
@@ -12730,7 +12918,9 @@ const ";
 // File: classgdcm_1_1UUIDGenerator.xml
 %feature("docstring") gdcm::UUIDGenerator "
 
-Class for generating unique UUID generate DCE 1.1 uid.
+Class for generating unique UUID.
+
+generate DCE 1.1 uid
 
 C++ includes: gdcmUUIDGenerator.h ";
 
@@ -12883,16 +13073,16 @@ gdcm::VM::GetLength() const ";
 // File: classgdcm_1_1VR.xml
 %feature("docstring") gdcm::VR "
 
-VR class This is adapted from DICOM standard The biggest difference is
-the INVALID VR and the composite one that differ from standard (more
-like an addition) This allow us to represent all the possible case
-express in the DICOMV3 dict.
+VR class.
 
-VALUE REPRESENTATION ( VR) Specifies the data type and format of the
-Value(s) contained in the Value Field of a Data Element. VALUE
-REPRESENTATION FIELD: The field where the Value Representation of a
-Data Element is stored in the encoding of a Data Element structure
-with explicit VR.
+This is adapted from DICOM standard The biggest difference is the
+INVALID VR and the composite one that differ from standard (more like
+an addition) This allow us to represent all the possible case express
+in the DICOMV3 dict VALUE REPRESENTATION ( VR) Specifies the data type
+and format of the Value(s) contained in the Value Field of a Data
+Element. VALUE REPRESENTATION FIELD: The field where the Value
+Representation of a Data Element is stored in the encoding of a Data
+Element structure with explicit VR.
 
 C++ includes: gdcmVR.h ";
 
@@ -13867,8 +14057,10 @@ C++ includes: gdcmWaveform.h ";
 // File: classgdcm_1_1WLMFindQuery.xml
 %feature("docstring") gdcm::WLMFindQuery "
 
-PatientRootQuery contains: the class which will produce a dataset for
-c-find with patient root.
+PatientRootQuery.
+
+contains: the class which will produce a dataset for c-find with
+patient root
 
 C++ includes: gdcmWLMFindQuery.h ";
 
@@ -13912,8 +14104,10 @@ and study level can be passed along as well. ";
 // File: classgdcm_1_1Writer.xml
 %feature("docstring") gdcm::Writer "
 
-Writer ala DOM (Document Object Model) This class is a non-validating
-writer, it will only performs well- formedness check only.
+Writer ala DOM (Document Object Model)
+
+This class is a non-validating writer, it will only performs well-
+formedness check only.
 
 Detailled description here To avoid GDCM being yet another broken
 DICOM lib we try to be user level and avoid writing illegal stuff (odd
@@ -15203,6 +15397,9 @@ gdcm::terminal::setmode(Mode m) ";
 // File: DumpADAC_8cxx-example.xml
 
 
+// File: DumpCSA_8cs-example.xml
+
+
 // File: DumpExamCard_8cxx-example.xml
 
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/gdcm.git



More information about the debian-med-commit mailing list