From: malaterre Date: Wed, 12 Nov 2003 14:06:32 +0000 (+0000) Subject: *ENH: Update CMakeLists X-Git-Tag: Version0.3.1~40 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=8fb1011e6fca9654c69d4921642f18146c66ca7f;p=gdcm.git *ENH: Update CMakeLists *FIX: GetRescale and GetSlope --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b63a646d..9c3cc136 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,14 +9,6 @@ SET(GDCM_VERSION_PATCH 0) SET(GDCM_VERSION "${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}") SET(GDCM_VERSION_FULL "${GDCM_VERSION}.${GDCM_VERSION_PATCH}") -#----------------------------------------------------------------------------- -# Output directories. -SET (LIBRARY_OUTPUT_PATH ${GDCM_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all libraries.") -SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all executables.") -MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) -SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}") -SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}") - #----------------------------------------------------------------------------- # datadir in CMake: SET(GDCM_DATA_DIR "/share/gdcm/" CACHE INTERNAL @@ -28,8 +20,20 @@ MARK_AS_ADVANCED(GDCM_DATA_DIR) OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON) SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) -#INCLUDE_DIRECTORIES( -#) +#----------------------------------------------------------------------------- +# Output directories. +#Put all stuff in one single dir for Win32, otherwise dll are a pain: +IF(WIN32 AND GDCM_BUILD_SHARED_LIBS) + SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/bin) +ELSE(WIN32 AND GDCM_BUILD_SHARED_LIBS) + SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/lib) +ENDIF(WIN32 AND GDCM_BUILD_SHARED_LIBS) + +SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/bin CACHE PATH "Single output directory for building all executables.") +SET (LIBRARY_OUTPUT_PATH ${OUTPUT_LIB_DIR} CACHE PATH "Single output directory for building all libraries.") +MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) +SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}") +SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}") #----------------------------------------------------------------------------- # Build directory on which many applications depend @@ -40,39 +44,39 @@ SUBDIRS( ) #----------------------------------------------------------------------------- -# Search VTK -FIND_PACKAGE(VTK) -# If vtk found -IF(VTK_FOUND) - OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF) - IF(GDCM_VTK) +OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF) +IF(GDCM_VTK) + # Search VTK + FIND_PACKAGE(VTK) + # If vtk found + IF(VTK_FOUND) INCLUDE(${VTK_USE_FILE}) SUBDIRS(vtk) - ENDIF(GDCM_VTK) -ENDIF(VTK_FOUND) + ENDIF(VTK_FOUND) +ENDIF(GDCM_VTK) #----------------------------------------------------------------------------- -# Search Python libs: -FIND_PACKAGE(PythonLibs) -# If PythonLibs found -IF(PYTHON_LIBRARY) - OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF) - #if wrapping enable - IF(GDCM_WRAP_PYTHON) +OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF) +#if wrapping enable +IF(GDCM_WRAP_PYTHON) + # Search Python libs: + FIND_PACKAGE(PythonLibs) + # If PythonLibs found + IF(PYTHON_LIBRARY) SUBDIRS(gdcmPython) - ENDIF(GDCM_WRAP_PYTHON) -ENDIF(PYTHON_LIBRARY) + ENDIF(PYTHON_LIBRARY) +ENDIF(GDCM_WRAP_PYTHON) #----------------------------------------------------------------------------- -# Search Doxygen: -FIND_PACKAGE(Doxygen) -IF(DOXYGEN) - OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF) - # if doxygen enable - IF(GDCM_DOXYGEN) +OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF) +# if doxygen enable +IF(GDCM_DOXYGEN) + # Search Doxygen: + FIND_PACKAGE(Doxygen) + IF(DOXYGEN) SUBDIRS(Doc) - ENDIF(GDCM_DOXYGEN) -ENDIF(DOXYGEN) + ENDIF(DOXYGEN) +ENDIF(GDCM_DOXYGEN) #----------------------------------------------------------------------------- # Configure files with settings for use by the build. diff --git a/gdcmPython/CMakeLists.txt b/gdcmPython/CMakeLists.txt index a6e8adc8..1c539c53 100644 --- a/gdcmPython/CMakeLists.txt +++ b/gdcmPython/CMakeLists.txt @@ -14,7 +14,6 @@ INCLUDE_DIRECTORIES( SET(GDCM_INC ${GDCM_SOURCE_DIR}/src -# -I$(top_builddir) ) SET(SWIG_INC @@ -32,7 +31,7 @@ SET_SOURCE_FILES_PROPERTIES(gdcm_wrap.cxx GENERATED) ADD_LIBRARY(pygdcm ${GDCM_PYTHON_SOURCES}) #http://www.cmake.org/pipermail/cmake/2003-August/004190.html -SET_TARGET_PROPERTIES(pygdcm PROPERTIES PREFIX "") +#SET_TARGET_PROPERTIES(pygdcm PROPERTIES PREFIX "") TARGET_LINK_LIBRARIES(pygdcm ${PYTHON_LIBRARY} gdcm @@ -52,21 +51,15 @@ ADD_CUSTOM_COMMAND( OUTPUTS ${GDCM_BINARY_DIR}/gdcmPython/gdcm_wrap.cxx ) - - - IF(GDCM_VTK) INCLUDE_DIRECTORIES( ${GDCM_SOURCE_DIR}/vtk ) SET(vtkgdcmPython_la_SOURCES -# vtkGdcmReaderPython.cxx -# vtkGdcmInit.cxx ${GDCM_SOURCE_DIR}/vtk/vtkGdcmReader.cxx ) SET_SOURCE_FILES_PROPERTIES(vtkGdcmReaderPython.cxx GENERATED) - #vtkWrapPythonInit.c # The C++ files must be made into a C++ library #ADD_LIBRARY ( vtkgdcmPython ${vtkgdcmPython_la_SOURCES}) @@ -88,9 +81,9 @@ IF(GDCM_VTK) ENDIF(GDCM_VTK) #I should install in path of PYTHON_LIBRARY -GET_FILENAME_COMPONENT(PYTHON_LIB_INSTALL ${PYTHON_LIBRARY} PATH) -GET_FILENAME_COMPONENT(SITEPACKAGE ${PYTHON_LIB_INSTALL}/../site-packages ABSOLUTE) -MESSAGE(STATUS ${SITEPACKAGE}) +#GET_FILENAME_COMPONENT(PYTHON_LIB_INSTALL ${PYTHON_LIBRARY} PATH) +#GET_FILENAME_COMPONENT(SITEPACKAGE ${PYTHON_LIB_INSTALL}/../site-packages ABSOLUTE) +#MESSAGE(STATUS ${SITEPACKAGE}) #INSTALL_FILES(/include "\\.h$") #INSTALL_TARGETS(/lib/ gdcm) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f8848c8c..0f673d1e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,7 +4,7 @@ SUBDIRS(jpeg) # "jpeglib.h" is defined here: INCLUDE_DIRECTORIES( - ${GDCM_SOURCE_DIR}/jpeg/libijg8 + ${GDCM_SOURCE_DIR}/src/jpeg/libijg8 #${GDCM_SOURCE_DIR}/jpeg/libijg12 #all files have been renamed, appending 12 #${GDCM_SOURCE_DIR}/jpeg/ljpg # JPEG lib from xmedcom ) @@ -67,4 +67,4 @@ ENDIF(UNIX) INSTALL_FILES(/include "\\.h$") INSTALL_TARGETS(/lib/ gdcm) -#INSTALL_FILES(/include/vtk .h ${Kit_SRCS}) \ No newline at end of file +#INSTALL_FILES(/include/vtk .h ${Kit_SRCS}) diff --git a/src/gdcmHeader.cxx b/src/gdcmHeader.cxx index 79ad3c0b..50af0722 100644 --- a/src/gdcmHeader.cxx +++ b/src/gdcmHeader.cxx @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.113 2003/11/10 14:17:12 jpr Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.114 2003/11/12 14:06:34 malaterre Exp $ #include "gdcmHeader.h" @@ -2237,9 +2237,7 @@ void * gdcmHeader::GetLUTRGBA(void) { if (gdcmHeader::GetPubElValByNumber(0x0028,0x0004) != "PALETTE COLOR ") { return NULL; } - - void * LutR,*LutG,*LutB; - int l; + int lengthR, debR, nbitsR; int lengthG, debG, nbitsG; int lengthB, debB, nbitsB; diff --git a/src/gdcmHeaderHelper.cxx b/src/gdcmHeaderHelper.cxx index cc3053cb..0898ed5d 100644 --- a/src/gdcmHeaderHelper.cxx +++ b/src/gdcmHeaderHelper.cxx @@ -1,11 +1,11 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.cxx,v 1.16 2003/11/07 14:57:58 malaterre Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.cxx,v 1.17 2003/11/12 14:06:35 malaterre Exp $ #include "gdcmHeaderHelper.h" #include "gdcmUtil.h" //for debug #include #include -#include //for bzero +//#include //for bzero //directory manipulation (os indep). //cygwin ???? -> _WIN32 ?? @@ -500,31 +500,28 @@ std::string gdcmHeaderHelper::GetInstanceUID() //---------------------------------------------------------------------------- float gdcmHeaderHelper::GetRescaleIntercept() { - float resInter; + float resInter = 0.; std::string StrRescInter = GetPubElValByNumber(0x0028,0x1052); //0028 1052 DS IMG Rescale Intercept if (StrRescInter != GDCM_UNFOUND) { if( sscanf( StrRescInter.c_str(), "%f", &resInter) != 1) { dbg.Verbose(0, "gdcmHeader::GetRescaleIntercept: Rescale Slope is empty"); - return 0.; // bug in the element 0x0028,0x1052 - } else { - return resInter; + // bug in the element 0x0028,0x1052 } - } + } + return resInter; } //---------------------------------------------------------------------------- float gdcmHeaderHelper::GetRescaleSlope() { - float resSlope; + float resSlope = 1.; std::string StrRescSlope = GetPubElValByNumber(0x0028,0x1053); //0028 1053 DS IMG Rescale Slope if (StrRescSlope != GDCM_UNFOUND) { if( sscanf( StrRescSlope.c_str(), "%f", &resSlope) != 1) { dbg.Verbose(0, "gdcmHeader::GetRescaleSlope: Rescale Slope is empty"); - return 1.; // bug in the element 0x0028,0x1053 - } else { - return resSlope; + // bug in the element 0x0028,0x1053 } } - + return resSlope; } diff --git a/src/gdcmHeaderHelper.h b/src/gdcmHeaderHelper.h index bef35ad6..0c94396c 100644 --- a/src/gdcmHeaderHelper.h +++ b/src/gdcmHeaderHelper.h @@ -1,12 +1,12 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.6 2003/11/07 14:57:58 malaterre Exp $ +// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.7 2003/11/12 14:06:35 malaterre Exp $ #ifndef GDCMHEADERHELPER_H #define GDCMHEADERHELPER_H #include "gdcmHeader.h" -#include -#include -#include +//#include +//#include +//#include // Dicom Part 3.3 Compliant enum ModalityType { diff --git a/vtk/vtkGdcmReader.cxx b/vtk/vtkGdcmReader.cxx index 83ec322f..426018c0 100644 --- a/vtk/vtkGdcmReader.cxx +++ b/vtk/vtkGdcmReader.cxx @@ -1,4 +1,4 @@ -// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.cxx,v 1.26 2003/11/06 14:14:10 malaterre Exp $ +// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.cxx,v 1.27 2003/11/12 14:06:36 malaterre Exp $ // ////////////////////////////////////////////////////////////// // WARNING TODO CLENAME // Actual limitations of this code: @@ -42,14 +42,16 @@ // time... // ////////////////////////////////////////////////////////////// -#include +#include "gdcmFile.h" +#include "gdcmHeaderHelper.h" +#include "vtkGdcmReader.h" + +//#include #include #include #include #include -#include "vtkGdcmReader.h" -#include "gdcm.h" -#include "gdcmHeaderHelper.h" + vtkGdcmReader::vtkGdcmReader() { diff --git a/vtk/vtkGdcmReader.h b/vtk/vtkGdcmReader.h index e3cd73c5..0b218dc1 100644 --- a/vtk/vtkGdcmReader.h +++ b/vtk/vtkGdcmReader.h @@ -1,14 +1,15 @@ -// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.h,v 1.11 2003/11/05 18:15:41 malaterre Exp $ +// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.h,v 1.12 2003/11/12 14:06:36 malaterre Exp $ #ifndef __vtkGdcmReader_h #define __vtkGdcmReader_h +#include #include #include -#include "vtkImageReader.h" -class vtkLookupTable; -class VTK_EXPORT vtkGdcmReader : public vtkImageReader +class vtkLookupTable; +//VTK_IO_EXPORT +class vtkGdcmReader : public vtkImageReader { public: static vtkGdcmReader *New() {return new vtkGdcmReader;};