SET(GDCM_VERSION "${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}")\r
SET(GDCM_VERSION_FULL "${GDCM_VERSION}.${GDCM_VERSION_PATCH}")\r
\r
-#-----------------------------------------------------------------------------\r
-# Output directories.\r
-SET (LIBRARY_OUTPUT_PATH ${GDCM_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all libraries.")\r
-SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all executables.")\r
-MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)\r
-SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")\r
-SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")\r
-\r
#-----------------------------------------------------------------------------\r
# datadir in CMake:\r
SET(GDCM_DATA_DIR "/share/gdcm/" CACHE INTERNAL \r
OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON)\r
SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})\r
\r
-#INCLUDE_DIRECTORIES(\r
-#)\r
+#-----------------------------------------------------------------------------\r
+# Output directories.\r
+#Put all stuff in one single dir for Win32, otherwise dll are a pain:\r
+IF(WIN32 AND GDCM_BUILD_SHARED_LIBS)\r
+ SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/bin)\r
+ELSE(WIN32 AND GDCM_BUILD_SHARED_LIBS)\r
+ SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/lib)\r
+ENDIF(WIN32 AND GDCM_BUILD_SHARED_LIBS)\r
+\r
+SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/bin CACHE PATH "Single output directory for building all executables.")\r
+SET (LIBRARY_OUTPUT_PATH ${OUTPUT_LIB_DIR} CACHE PATH "Single output directory for building all libraries.")\r
+MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)\r
+SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")\r
+SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")\r
\r
#-----------------------------------------------------------------------------\r
# Build directory on which many applications depend\r
)\r
\r
#-----------------------------------------------------------------------------\r
-# Search VTK\r
-FIND_PACKAGE(VTK)\r
-# If vtk found\r
-IF(VTK_FOUND)\r
- OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)\r
- IF(GDCM_VTK)\r
+OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)\r
+IF(GDCM_VTK)\r
+ # Search VTK\r
+ FIND_PACKAGE(VTK)\r
+ # If vtk found\r
+ IF(VTK_FOUND)\r
INCLUDE(${VTK_USE_FILE})\r
SUBDIRS(vtk)\r
- ENDIF(GDCM_VTK)\r
-ENDIF(VTK_FOUND)\r
+ ENDIF(VTK_FOUND)\r
+ENDIF(GDCM_VTK)\r
\r
#-----------------------------------------------------------------------------\r
-# Search Python libs:\r
-FIND_PACKAGE(PythonLibs)\r
-# If PythonLibs found\r
-IF(PYTHON_LIBRARY)\r
- OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)\r
- #if wrapping enable\r
- IF(GDCM_WRAP_PYTHON)\r
+OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)\r
+#if wrapping enable\r
+IF(GDCM_WRAP_PYTHON)\r
+ # Search Python libs:\r
+ FIND_PACKAGE(PythonLibs)\r
+ # If PythonLibs found\r
+ IF(PYTHON_LIBRARY)\r
SUBDIRS(gdcmPython)\r
- ENDIF(GDCM_WRAP_PYTHON)\r
-ENDIF(PYTHON_LIBRARY)\r
+ ENDIF(PYTHON_LIBRARY)\r
+ENDIF(GDCM_WRAP_PYTHON)\r
\r
#-----------------------------------------------------------------------------\r
-# Search Doxygen:\r
-FIND_PACKAGE(Doxygen)\r
-IF(DOXYGEN)\r
- OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)\r
- # if doxygen enable\r
- IF(GDCM_DOXYGEN)\r
+OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)\r
+# if doxygen enable\r
+IF(GDCM_DOXYGEN)\r
+ # Search Doxygen:\r
+ FIND_PACKAGE(Doxygen)\r
+ IF(DOXYGEN)\r
SUBDIRS(Doc)\r
- ENDIF(GDCM_DOXYGEN)\r
-ENDIF(DOXYGEN)\r
+ ENDIF(DOXYGEN)\r
+ENDIF(GDCM_DOXYGEN)\r
\r
#-----------------------------------------------------------------------------\r
# Configure files with settings for use by the build.\r
SET(GDCM_INC
${GDCM_SOURCE_DIR}/src
-# -I$(top_builddir)
)
SET(SWIG_INC
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
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})
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)
\r
# "jpeglib.h" is defined here:\r
INCLUDE_DIRECTORIES(\r
- ${GDCM_SOURCE_DIR}/jpeg/libijg8\r
+ ${GDCM_SOURCE_DIR}/src/jpeg/libijg8\r
#${GDCM_SOURCE_DIR}/jpeg/libijg12 #all files have been renamed, appending 12\r
#${GDCM_SOURCE_DIR}/jpeg/ljpg # JPEG lib from xmedcom \r
)\r
INSTALL_FILES(/include "\\.h$")\r
\r
INSTALL_TARGETS(/lib/ gdcm)\r
-#INSTALL_FILES(/include/vtk .h ${Kit_SRCS})
\ No newline at end of file
+#INSTALL_FILES(/include/vtk .h ${Kit_SRCS})\r
-// $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"
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;
-// $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 <math.h>
#include <algorithm>
-#include <string.h> //for bzero
+//#include <string.h> //for bzero
//directory manipulation (os indep).
//cygwin ???? -> _WIN32 ??
//----------------------------------------------------------------------------
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;
}
-// $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 <list>
-#include <string>
-#include <vector>
+//#include <list>
+//#include <string>
+//#include <vector>
// Dicom Part 3.3 Compliant
enum ModalityType {
-// $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:
// time...
// //////////////////////////////////////////////////////////////
-#include <stdio.h>
+#include "gdcmFile.h"
+#include "gdcmHeaderHelper.h"
+#include "vtkGdcmReader.h"
+
+//#include <stdio.h>
#include <vtkObjectFactory.h>
#include <vtkImageData.h>
#include <vtkPointData.h>
#include <vtkLookupTable.h>
-#include "vtkGdcmReader.h"
-#include "gdcm.h"
-#include "gdcmHeaderHelper.h"
+
vtkGdcmReader::vtkGdcmReader()
{
-// $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 <vtkImageReader.h>
#include <list>
#include <string>
-#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;};