From 5285811a83dcd08d4e9364c74ebe1b163688f5bb Mon Sep 17 00:00:00 2001 From: malaterre Date: Thu, 29 Apr 2004 03:02:32 +0000 Subject: [PATCH] ENH: 1. Remove remp solution of gdcmTests.cxx+ gdcmMain directly in src director, now generated in the build dir. 2. Tests as mentionned smarter 3. Some clean up 4. Add a new method in gdcmDict that return the PubDict by name this is intersting for 3rd party lib like ITK, where we could set the institution anme / patient name... --- CMakeLists.txt | 30 ++++-------------------------- Testing/CMakeLists.txt | 41 +++++++++++++++++++++++++---------------- setup.py | 38 +++++++++++++------------------------- src/gdcmDict.h | 9 ++++++++- 4 files changed, 50 insertions(+), 68 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a97d540..661efb19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,9 +54,9 @@ SUBDIRS( #----------------------------------------------------------------------------- # Adding GDCM_DATA_ROOT FIND_PATH(GDCM_DATA_ROOT gdcm-ACR-LibIDO.acr - ${GDCM_SOURCE_DIR}/../gdcmData - $ENV{GDCM_DATA} - $ENV{PUB_DICT_PATH}/../../gdcmData + ${GDCM_SOURCE_DIR}/../gdcmData + $ENV{GDCM_DATA} + $ENV{PUB_DICT_PATH}/../../gdcmData ) #----------------------------------------------------------------------------- @@ -89,9 +89,6 @@ IF(NOT CMAKE_HAVE_STDINT_H) SET(GDCM_HAVE_NO_STDINT_H 1) ENDIF(NOT CMAKE_HAVE_STDINT_H) -#SET(GDCM_NO_ANSI_STRING_STREAM -# ${CMAKE_NO_ANSI_STRING_STREAM} -#) CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE) @@ -152,7 +149,7 @@ CONFIGURE_FILE( ${GDCM_BINARY_DIR}/gdcmConfig.cmake @ONLY IMMEDIATE ) -# Export uor build settings and library +# Export our build settings and library # dependencies for the use by the user projects. INCLUDE( ${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake) @@ -173,22 +170,3 @@ INSTALL_FILES(/lin/gdcm FILES ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake ) -#----------------------------------------------------------------------------- -# Copy / paste from old m4 script: - -# EXTRA_DIST = \ -# AUTHORS \ -# ChangeLog \ -# COPYING \ -# INSTALL \ -# NEWS \ -# README \ -# TODO \ -# gdcm.spec \ -# gdcm.dsw - -#release: -# $(MAKE) dist distdir=$(PACKAGE)-$(VERSION) - -#snapshot: -# $(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"` diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt index feb6a090..4f427f56 100644 --- a/Testing/CMakeLists.txt +++ b/Testing/CMakeLists.txt @@ -23,13 +23,14 @@ SET(TEST_SOURCES testDicomDir.cxx testWrite.cxx ) + +# add tests that require data IF (GDCM_DATA_ROOT) - # add tests that require data - SET(TEST_SOURCES ${TEST_SOURCES} - PrintDicomDir.cxx - pourFindTaggs.cxx - testChangeEntete.cxx - ) +SET(TEST_SOURCES ${TEST_SOURCES} + PrintDicomDir.cxx + pourFindTaggs.cxx + testChangeEntete.cxx +) ENDIF (GDCM_DATA_ROOT) # include stuff @@ -38,21 +39,29 @@ INCLUDE_DIRECTORIES( ${GDCM_BINARY_DIR}/ ) +CREATE_TEST_SOURCELIST(Tests gdcmCxxTests.cxx ${TEST_SOURCES}) +ADD_EXECUTABLE(gdcmCxxTests ${Tests}) +TARGET_LINK_LIBRARIES(gdcmCxxTests gdcm) +SET (TestsToRun ${Tests}) +REMOVE (TestsToRun gdcmCxxTests.cxx) + +#ADD_EXECUTABLE(gdcmTests gdcmTests.cxx ${TEST_SOURCES}) +#TARGET_LINK_LIBRARIES(gdcmTests gdcm) + # Loop over files and create executables FOREACH(file ${TEST_SOURCES}) - #Doh ! I need to specify each time the compile flags ! - IF(GDCM_TEST_COMPILE_FLAGS) - SET_SOURCE_FILES_PROPERTIES(${file} - PROPERTIES - COMPILE_FLAGS ${GDCM_TEST_COMPILE_FLAGS} - ) - ENDIF(GDCM_TEST_COMPILE_FLAGS) GET_FILENAME_COMPONENT(name ${file} NAME_WE) - ADD_TEST(${name} ${GDCM_TESTS} ${name}) +# IF (GDCM_DATA_ROOT) +# ADD_TEST(${TName} ${CXX_TEST_PATH}/gdcmCxxTests ${TName} +# -D ${VTK_DATA_ROOT} +# -T ${VTK_BINARY_DIR}/Testing/Temporary +# -V Baseline/gdcm/${TName}.png) +# ELSE (GDCM_DATA_ROOT) + ADD_TEST(${name} ${GDCM_TESTS} ${name}) + #ADD_TEST(${TName} ${CXX_TEST_PATH}/gdcmCxxTests ${TName}) +# ENDIF (GDCM_DATA_ROOT) ENDFOREACH(file ${TEST_SOURCES}) -ADD_EXECUTABLE(gdcmTests gdcmTests.cxx ${TEST_SOURCES}) -TARGET_LINK_LIBRARIES(gdcmTests gdcm) diff --git a/setup.py b/setup.py index ebeef96a..668b16ff 100644 --- a/setup.py +++ b/setup.py @@ -3,26 +3,25 @@ import glob, os, sys, shutil from distutilsWrapping import * from WrapSwig import * from WrapVTK import * -from gdcmVersion import * -ThisModule='gdcmPython' +ThisModule ="gdcmPython" gdcmPythonSrcDir=ThisModule gdcmSrcDir ="src" gdcmJpeg8SrcDir =os.path.join('src', 'jpeg', 'libijg8') gdcmJpeg12SrcDir=os.path.join('src', 'jpeg', 'libijg12') -gdcmJpgSrcDir=os.path.join('src', 'jpeg', 'ljpg') +gdcmJpgSrcDir =os.path.join('src', 'jpeg', 'ljpg') gdcmvtkSrcDir ="vtk" gdcmDictsDir ="Dicts" gdcmTestDir ="Test" -# Due to a disutil oddity on Unices : see +# Due to a distutils oddity on Unices : see # http://aspn.activestate.com/ASPN/Mail/Message/distutils-sig/588325 if(os.name=='posix'): targetDir=os.path.join('lib','python'+sys.version[:3],'site-packages') libraries=["stdc++"] macros =[('__STDC_LIMIT_MACROS', '1')] - VTKPATH="/usr" + VTKPATH="/home/malaterre" vtkWrapper="vtkWrapPython" else: targetDir=os.path.join('lib','site-packages') @@ -35,7 +34,7 @@ else: err=str(e) print "Environment variable",err[err.rfind(':')+1:],'not defined, '\ 'please fix it!' - VTKPATH="c:\\Creatis\\vtkDistrib" + VTKPATH="/home/malaterre" vtkWrapper=os.path.join(VTKPATH,"bin","vtkWrapPython") targetDir=os.path.join(targetDir, ThisModule) @@ -55,7 +54,7 @@ Jpeg8Sources = glob.glob(os.path.join(gdcmJpeg8SrcDir,"j*.c")) Jpeg8SourcesToRemove = ['jmemansi.c', 'jmemname.c', 'jmemdos.c', 'jmemmac.c'] for Remove in Jpeg8SourcesToRemove: ### Because setup.py is a multiple pass process we need to trap - ### the case where the files were allready wed out on a previous pass. + ### the case where the files were already wed out on a previous pass. try: Jpeg8Sources.remove(os.path.join(gdcmJpeg8SrcDir, Remove)) except ValueError: @@ -63,11 +62,10 @@ for Remove in Jpeg8SourcesToRemove: Sources.extend(Jpeg8Sources) Jpeg12Sources = glob.glob(os.path.join(gdcmJpeg12SrcDir,"j*.c")) -Jpeg12SourcesToRemove = ['jmemansi12.c', 'jmemname12.c', 'jmemdos12.c', - 'jmemmac12.c'] +Jpeg12SourcesToRemove = ['jmemansi12.c', 'jmemname12.c', 'jmemdos12.c', 'jmemmac12.c'] for Remove in Jpeg12SourcesToRemove: ### Because setup.py is a multiple pass process we need to trap - ### the case where the files were allready wed out on a previous pass. + ### the case where the files were already wed out on a previous pass. try: Jpeg12Sources.remove(os.path.join(gdcmJpeg12SrcDir, Remove)) except ValueError: @@ -83,15 +81,11 @@ Sources.extend(JpgSources) VTK_INCLUDE_DIR=os.path.join(VTKPATH,"include","vtk") VTK_LIB_DIR=os.path.join(VTKPATH,"lib","vtk") vtkSources = [] -vtkSources.extend(glob.glob(os.path.join(gdcmvtkSrcDir,"vtk*.cxx"))) -vtkSources.extend(glob.glob(os.path.join(gdcmSrcDir,"*.cxx"))) +vtkSources.extend(glob.glob(os.path.join(gdcmvtkSrcDir,'vtk*.cxx'))) +vtkSources.extend(glob.glob(os.path.join(gdcmSrcDir,'*.cxx'))) vtkSources.extend(Jpeg8Sources) vtkSources.extend(Jpeg12Sources) vtkSources.extend(JpgSources) -try: - vtkSources.remove(os.path.join(gdcmvtkSrcDir,"vtkgdcmViewer.cxx")) -except: - pass vtkLibraries=["vtkCommon","vtkCommonPython", "vtkIO","vtkIOPython", @@ -99,11 +93,11 @@ vtkLibraries=["vtkCommon","vtkCommonPython", ##### setup(name=ThisModule, - version=gdcmVERSION, + version="0.4", description="...", author="frog", author_email="frog@creatis.insa-lyon.fr", - url="http://www.creatis.insa-lyon.fr/", + url="http://www.creatis.insa-lyon.fr/Public/Gdcm/", packages=[ '.', gdcmPythonSrcDir, gdcmPythonSrcDir + '.demo' ], @@ -117,7 +111,7 @@ setup(name=ThisModule, swig_cpp=1, swig_include=[gdcmSrcDir] ), - VTKExtension(name='gdcmPython.vtkgdcmPython', + VTKExtension(name='gdcmPython.vtkgdcmPython', sources=vtkSources, include_dirs=[gdcmSrcDir,gdcmvtkSrcDir, VTK_INCLUDE_DIR], @@ -129,13 +123,7 @@ setup(name=ThisModule, ], data_files=[(os.path.join(targetDir,gdcmTestDir), glob.glob(os.path.join(gdcmTestDir,"*.acr"))), - (targetDir, - glob.glob(os.path.join(gdcmSrcDir,"*.py"))), (os.path.join(targetDir,"Dicts"), glob.glob(os.path.join(gdcmDictsDir,"*.*"))), - (targetDir, - glob.glob(os.path.join(gdcmSrcDir,"..","gdcmVersion.py"))), - (os.path.join(targetDir,".."), - glob.glob(os.path.join(gdcmSrcDir,"..","gdcmVersion.py"))), ] ) diff --git a/src/gdcmDict.h b/src/gdcmDict.h index 10a58569..66f0df52 100644 --- a/src/gdcmDict.h +++ b/src/gdcmDict.h @@ -54,7 +54,14 @@ public: * \brief returns a ref to the Dicom Dictionary H table (map) * return the Dicom Dictionary H table */ - inline TagKeyHT & gdcmDict::GetEntries(void) { return KeyHt; } + inline TagKeyHT & GetEntriesByKey(void) { return KeyHt; } + + /** + * \ingroup gdcmDict + * \brief returns a ref to the Dicom Dictionary H table (map) + * return the Dicom Dictionary H table + */ + inline TagNameHT & GetEntriesByName(void) { return NameHt; } private: /// ASCII file holding the Dictionnary -- 2.45.1