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)
#TestAllReadCompareDicom.cxx # includes generated gdcmDataImages.h
TestReadWriteReadCompare.cxx # includes generated gdcmDataImages.h
TestReadWriteJPEGReadCompare.cxx # includes generated gdcmDataImages.h
- TestReadWriteJPEG2000ReadCompare.cxx # includes generated gdcmDataImages.h
+ #TestReadWriteJPEG2000ReadCompare.cxx # includes generated gdcmDataImages.h
#TestCopyDicom.cxx # includes generated gdcmDataImages.h
# TestCopyRescaleDicom.cxx # includes generated gdcmDataImages.h
)
# 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
"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"
+
+ # No way we'll ever be able to read that...
+ "ELSCINT1_LOSSLESS_RICE.dcm"
+
+ # Are we even be able to support our own bugs ?
+ "SIEMENS_MAGNETOM-12-MONO2-GDCM12-VRUN.dcm"
)
# Create a specific list of dicom files that we know are part of a sequence
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"