TestEnumVR.cxx
TestBuildUpDicomDir.cxx # writes a file named "NewDICOMDIR"
)
-IF(UNIX)
+IF(UNIX OR WIN32)
SET(TEST_SOURCES ${TEST_SOURCES}
- #TestInline.cxx
+ TestInline.cxx
)
-ENDIF(UNIX)
+ENDIF(UNIX OR WIN32)
# add tests that require data
IF (GDCM_DATA_ROOT)
#TestLoadAllDocumentsNoShadow.cxx # includes generated gdcmDataImages.h
TestPrintAllDocument.cxx # includes generated gdcmDataImages.h
#TestAllEntryVerify.cxx # includes generated gdcmDataImages.h
- TestAllReadCompareDicom.cxx # includes generated gdcmDataImages.h
+ #TestAllReadCompareDicom.cxx # includes generated gdcmDataImages.h
TestReadWriteReadCompare.cxx # includes generated gdcmDataImages.h
+ TestReadWriteJPEGReadCompare.cxx # includes generated gdcmDataImages.h
+ #TestReadWriteJPEG2000ReadCompare.cxx # includes generated gdcmDataImages.h
+
#TestCopyDicom.cxx # includes generated gdcmDataImages.h
# TestCopyRescaleDicom.cxx # includes generated gdcmDataImages.h
#TestChangeHeader.cxx
)
# add test that require VTK:
IF(GDCM_VTK)
+
IF("${VTK_MAJOR_VERSION}" LESS 4)
MESSAGE(FATAL_ERROR "This VTK version is not supported, you are on your own !")
ELSE("${VTK_MAJOR_VERSION}" LESS 4)
+
IF("${VTK_MAJOR_VERSION}" EQUAL 4 AND "${VTK_MINOR_VERSION}" EQUAL 2)
MESSAGE(FATAL_ERROR "This VTK version is not supported, you are on your own !"
"Although gdcm should compile fine. You just need to turn BUILD_TESTING:=OFF")
MESSAGE(FATAL_ERROR "This VTK version is not supported, you are on your own !"
"Although gdcm should compile fine. You just need to turn BUILD_TESTING:=OFF")
ENDIF("${VTK_MAJOR_VERSION}" EQUAL 4 AND "${VTK_MINOR_VERSION}" EQUAL 4 AND "${VTK_BUILD_VERSION}" LESS 3)
+
# Include the VTK library since we know this is going to work
INCLUDE(${VTK_USE_FILE})
"${GDCM_DATA_ROOT}/*.ima"
)
+FILE(GLOB GDCM_DATA_EXTRA_IMAGES_GLOB
+ "${GDCM_DATA_EXTRA_ROOT}/gdcmSampleData/images_of_interest/*.dcm"
+ )
+#MESSAGE(${GDCM_DATA_EXTRA_IMAGES_GLOB})
+
# Black list of images known to break lots of readers (efilm, xmedcon ...):
SET(BLACK_LIST
# Multiframe Papyrus format image
# Jasper cannot handle this image, only kakadu so far, unless you patch jasper
# but then it breaks other images...
"CT_Phillips_JPEG2K_Decompr_Problem.dcm"
+
+ #RTDOSE, 32 bits image : cannot be compressed
+ #"RTDOSE.dcm"
+
#
# ------------
#
"MR_Philips_Intera_PrivateSequenceImplicitVR.dcm"
# Seems this one hangs on 64 bits processors ?!?
- # I blacklist it untill the pb is solved.
+ # I blacklist it until the pb is solved.
# (to get some more green on the Dasboards)
"MR_Philips-Intera_BreaksNOSHADOW.dcm"
)
FOREACH(filename ${GDCM_DATA_IMAGES_GLOB})
GET_FILENAME_COMPONENT(filename_temp ${filename} NAME)
IF(DCIODVFY_FOUND)
- ADD_TEST("DCIODVFY-INPUT-${filename_temp}" "${DCIODVFY_EXECUTABLE}" "${filename}")
- ADD_TEST("DCIODVFY-OUTPUT-${filename_temp}" "${DCIODVFY_EXECUTABLE}" "${GDCM_DATA_ROOT}/BaselineDicom/${filename_temp}")
+ #ADD_TEST("DCIODVFY-INPUT-${filename_temp}" "${DCIODVFY_EXECUTABLE}" "${filename}")
+ #ADD_TEST("DCIODVFY-OUTPUT-${filename_temp}" "${DCIODVFY_EXECUTABLE}" "${GDCM_DATA_ROOT}/BaselineDicom/${filename_temp}")
ENDIF(DCIODVFY_FOUND)
STRING(REGEX MATCH ${filename_temp} bad_dicom ${BLACK_LIST})
IF(NOT bad_dicom)
ENDIF(NOT bad_dicom)
ENDFOREACH(filename)
+# Paranoid / dcmdump
+IF(GDCM_DCMTK_CHECK)
+FOREACH(filename ${GDCM_DATA_IMAGES_GLOB} ${GDCM_DATA_EXTRA_IMAGES_GLOB})
+ GET_FILENAME_COMPONENT(filename_temp ${filename} NAME)
+ STRING(REGEX MATCH ${filename_temp} bad_dicom ${BLACK_LIST})
+ IF(NOT bad_dicom)
+ IF(BUILD_EXAMPLES)
+ FOREACH(mode a d x) #r
+ FOREACH(opt "" monochrome1 noshadowseq noshadow noseq rgb)
+ ADD_TEST(ReWrite-${mode}-${opt}-${filename_temp} ${EXECUTABLE_OUTPUT_PATH}/ReWrite filein=${filename} fileout=${GDCM_BINARY_DIR}/${mode}-${opt}-${filename_temp} mode=${mode} ${opt})
+ ADD_TEST(dcmdump-${mode}-${opt}-${filename_temp} /usr/bin/dcmdump -E -dc +ae ${GDCM_BINARY_DIR}/${mode}-${opt}-${filename_temp})
+ #ADD_TEST(ReWrite-${mode}-${opt}-${filename_temp}-bis ${EXECUTABLE_OUTPUT_PATH}/ReWrite filein=${GDCM_BINARY_DIR}/${mode}-${opt}-${filename_temp} fileout=${GDCM_BINARY_DIR}/reference.dcm mode=${mode} ${opt})
+ #ADD_TEST(diff-${mode}-${opt}-${filename_temp} /usr/bin/diff ${GDCM_BINARY_DIR}/${mode}-${opt}-${filename_temp} ${GDCM_BINARY_DIR}/reference.dcm)
+ ENDFOREACH(opt)
+ ENDFOREACH(mode)
+ ENDIF(BUILD_EXAMPLES)
+ ENDIF(NOT bad_dicom)
+ENDFOREACH(filename)
+ENDIF(GDCM_DCMTK_CHECK)
+
# Populate GDCM_DATA_IMAGES:
FILE(WRITE "${GDCM_BINARY_DIR}/gdcmDataImages.h"
"const char * const gdcmDataImages[] = { ${GDCM_DATA_IMAGES}\n0 };\n"