diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e98d5cb8..5ec8deef5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,63 +1,36 @@ #========================================================= +# RTK +#========================================================= cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR) if(WIN32 OR NOT EXISTS /dev/urandom) cmake_minimum_required(VERSION 2.8.5) endif() -#========================================================= -#RTK = Reconstruction toolkit project(RTK) -#========================================================= + +set(RTK_LIBRARIES RTK) #========================================================= -#Support for the CTest dashboard testing system -include(CTest) -include(cmake/RTKExternalData.cmake) +# Installation variables #========================================================= - -## Tell CMake to be quiet -cmake_policy (SET CMP0003 NEW) -if(POLICY CMP0054) - cmake_policy (SET CMP0054 NEW) +if(NOT RTK_INSTALL_RUNTIME_DIR) + set(RTK_INSTALL_RUNTIME_DIR bin) endif() - -## Default to release -if (NOT CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Release) -endif () - -if(BUILD_TESTING) - enable_testing() +if(NOT RTK_INSTALL_LIB_DIR) + set(RTK_INSTALL_LIB_DIR lib) endif() -#========================================================= - -#========================================================= -set(RTK_VERSION_MAJOR "1") -set(RTK_VERSION_MINOR "3") -set(RTK_VERSION_PATCH "0") - -#========================================================= - -#========================================================= -# Help function to debug CMake -macro (DD in) - message(${in}=[${${in}}]) -endmacro() -#========================================================= - -#========================================================= -# Output directories. -if(NOT LIBRARY_OUTPUT_PATH) - set (LIBRARY_OUTPUT_PATH ${RTK_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all libraries.") +if(NOT RTK_INSTALL_ARCHIVE_DIR) + set(RTK_INSTALL_ARCHIVE_DIR lib) +endif() +if(NOT RTK_INSTALL_INCLUDE_DIR) + set(RTK_INSTALL_INCLUDE_DIR include/RTK) endif() -if(NOT EXECUTABLE_OUTPUT_PATH) - set (EXECUTABLE_OUTPUT_PATH ${RTK_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") +if(NOT RTK_INSTALL_PACKAGE_DIR) + set(RTK_INSTALL_PACKAGE_DIR "lib/cmake/RTK") endif() -mark_as_advanced(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) -set(RTK_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}") -set(RTK_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}") -set(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH}) +#Set position independent code for Unix (-fPIC) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) #========================================================= # Remove some MS Visual c++ flags @@ -65,173 +38,68 @@ if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS) endif() -# Flag required for shared libraries -if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -endif () -#========================================================= +#Initialization +if(NOT ITK_SOURCE_DIR) + include(itk-module-init.cmake) +endif() #========================================================= -# Find ITK (required) -find_package(ITK 4.2.0 REQUIRED) -if(ITK_FOUND) - include(${ITK_USE_FILE}) -else() - message(FATAL_ERROR "Cannot build without ITK. Set ITK_DIR.") -endif() -set(ITK_LIBRARIES_SANS_VTK) -foreach(lib ${ITK_LIBRARIES}) - if(NOT lib MATCHES "ITKVtkGlue") - list(APPEND ITK_LIBRARIES_SANS_VTK ${lib}) - endif() -endforeach() -set(ITK_LIBRARIES ${ITK_LIBRARIES_SANS_VTK}) +# lp_solve library +#========================================================= +add_subdirectory(utilities/lp_solve) -# GPU optional dependencies -set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) +set(LPSOLVE_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR}/utilities/lp_solve + ${PROJECT_SOURCE_DIR}/utilities/lp_solve/shared + ${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp + ${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp/bfp_LUSOL + ${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp/bfp_LUSOL/LUSOL + ${PROJECT_SOURCE_DIR}/utilities/lp_solve/colamd + ) -find_package(CUDA_wrap) -if(CUDA_FOUND) - if(${CUDA_VERSION} LESS 4.1) - message(WARNING "CUDA version ${CUDA_VERSION} is not supported by RTK.") - set(RTK_USE_CUDA_DEFAULT OFF) - else() - set(RTK_USE_CUDA_DEFAULT ON) - endif() -else() - set(RTK_USE_CUDA_DEFAULT OFF) -endif() -option(RTK_USE_CUDA "Use CUDA for RTK" ${RTK_USE_CUDA_DEFAULT}) +list(APPEND RTK_INCLUDE_DIRS + "${LPSOLVE_INCLUDE_DIRS}") -if(RTK_USE_CUDA) - if(NOT CUDA_FOUND) - find_package(CUDA_wrap REQUIRED) - endif() - include_directories(${CUDA_INCLUDE_DIRS}) - set(RTK_CUDA_PROJECTIONS_SLAB_SIZE "16" CACHE STRING "Number of projections processed simultaneously in CUDA forward and back projections") -endif() #========================================================= - +# ITKCudaCommon #========================================================= -# Remove some Intel compiler warnings -if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") - string(REPLACE "-Wno-unused-parameter" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - if(WIN32) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qwd1268") - else() - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd1268") +if(RTK_USE_CUDA) + if(NOT TARGET ITKCudaCommon) + add_subdirectory(utilities/ITKCudaCommon) endif() endif() -#========================================================= - -#========================================================= -# Shared libraries option -option(BUILD_SHARED_LIBS "Build RTK with shared libraries." ${ITK_BUILD_SHARED}) -set(RTK_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) -#========================================================= #========================================================= -# RTK uses KWStyle for checking the coding style -include(${RTK_SOURCE_DIR}/cmake/KWStyle/KWStyle.cmake) +# Include directories #========================================================= +list(APPEND RTK_INCLUDE_DIRS + ${RTK_BINARY_DIR}) +# Export library linking directories (used by LIBPATH) +set(RTK_SYSTEM_LIBRARY_DIRS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) +set(RTK_SYSTEM_INCLUDE_DIRS ${RTK_INCLUDE_DIRS}) #========================================================= -# If choose to build documentation, then search for Doxygen executables. -option(BUILD_DOXYGEN "Build Doxygen Documentation" OFF) -if(BUILD_DOXYGEN) - add_subdirectory(documentation/Doxygen) -endif() -#========================================================= - -#========================================================= -# Installation variables -if(NOT RTK_INSTALL_RUNTIME_DIR) - set(RTK_INSTALL_RUNTIME_DIR bin) -endif() -if(NOT RTK_INSTALL_LIB_DIR) - set(RTK_INSTALL_LIB_DIR lib) -endif() -if(NOT RTK_INSTALL_ARCHIVE_DIR) - set(RTK_INSTALL_ARCHIVE_DIR lib) -endif() -if(NOT RTK_INSTALL_INCLUDE_DIR) - set(RTK_INSTALL_INCLUDE_DIR include/RTK-${RTK_VERSION_MAJOR}.${RTK_VERSION_MINOR}) -endif() -if(NOT RTK_INSTALL_PACKAGE_DIR) - set(RTK_INSTALL_PACKAGE_DIR "lib/cmake/RTK-${RTK_VERSION_MAJOR}.${RTK_VERSION_MINOR}") -endif() +# Configure and build ITK external module #========================================================= -# Utilities -list(APPEND RTK_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/code") -if(RTK_USE_CUDA) - list(APPEND RTK_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/utilities/ITKCudaCommon/include/") - list(APPEND RTK_INCLUDE_DIRS ${CUDA_TOOLKIT_INCLUDE}) -endif() -list(APPEND RTK_INCLUDE_DIRS "${PROJECT_BINARY_DIR}") -include_directories(${RTK_INCLUDE_DIRS}) - -if(ITK_VERSION_MINOR LESS "4") - include_directories(BEFORE utilities/itkImageScanlineConstIterator) -endif() -if(ITK_VERSION_MINOR LESS "5") - include_directories(BEFORE utilities/itkBinShrinkImageFilter) +if(NOT ITK_SOURCE_DIR) + find_package(ITK REQUIRED) + list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR}) + include(ITKModuleExternal) +else() + itk_module_impl() endif() -if(RTK_USE_CUDA) - add_subdirectory(utilities/ITKCudaCommon) - include_directories(utilities/ITKCudaCommon/include) +#----------------------------------------------------------------------------- +# The subdirectories added below this line should use only the public +# interface with find_package(ITK). Set ITK_DIR to use this ITK build. +if(ITK_SOURCE_DIR) + set(ITK_DIR "${ITK_BINARY_DIR}") endif() -add_subdirectory(utilities/lp_solve) -include_directories( - utilities/lp_solve - utilities/lp_solve/shared - utilities/lp_solve/bfp - utilities/lp_solve/bfp/bfp_LUSOL - utilities/lp_solve/bfp/bfp_LUSOL/LUSOL - utilities/lp_solve/colamd) -list(APPEND RTK_INCLUDE_DIRS - "${PROJECT_SOURCE_DIR}/utilities/lp_solve" - "${PROJECT_SOURCE_DIR}/utilities/lp_solve/shared" - "${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp" - "${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp/bfp_LUSOL" - "${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp/bfp_LUSOL/LUSOL" - "${PROJECT_SOURCE_DIR}/utilities/lp_solve/colamdcode") -add_subdirectory(code) - #========================================================= -# Generate RTKConfig.cmake for the build tree. -set (RTK_USE_FILE "${RTK_SOURCE_DIR}/cmake/UseRTK.cmake") -set (RTK_LIBRARY_DIRS ${RTK_LIBRARY_PATH}) -configure_file(cmake/RTKConfig.cmake.in RTKConfig.cmake @ONLY) -configure_file(cmake/RTKConfigVersion.cmake.in RTKConfigVersion.cmake @ONLY) +# Build applications #========================================================= - -option(RTK_TIME_EACH_FILTER "Time each RTK filter in a global object and report times in RTK applications" OFF) -if(ITK_VERSION LESS "4.6") - set(RTK_TIME_EACH_FILTER OFF) -endif() - option(BUILD_APPLICATIONS "Build RTK applications" ON) if(BUILD_APPLICATIONS) add_subdirectory(applications) endif() - -if(BUILD_TESTING) - add_subdirectory(testing) -endif() - -option(BUILD_EXAMPLES "Build RTK examples" ON) -if(BUILD_EXAMPLES) - add_subdirectory(examples) -endif() - -ExternalData_Add_Target(rtkData) - -option(BUILD_SIMPLERTK "Build SimpleRTK Wrapping" OFF) -if(BUILD_SIMPLERTK) - # SimpleRTK is meant to be build separately, so we set the variables - set(RTK_DIR ${CMAKE_BINARY_DIR}) - include(utilities/SimpleRTK/SimpleRTKWithSwig.cmake) -endif() diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt deleted file mode 100644 index 437274ec4..000000000 --- a/code/CMakeLists.txt +++ /dev/null @@ -1,204 +0,0 @@ -#========================================================= -# Propagate cmake options in a header file -configure_file (${CMAKE_CURRENT_SOURCE_DIR}/rtkConfiguration.h.in - ${CMAKE_BINARY_DIR}/rtkConfiguration.h) -set (RTK_LIBRARIES RTK lpsolve55) -#========================================================= - -#========================================================= -set(RTK_LIBRARY_FILES - rtkHisImageIO.cxx - rtkHisImageIOFactory.cxx - rtkElektaSynergyGeometryReader.cxx - rtkElektaXVI5GeometryXMLFile.cxx - rtkDbf.cxx - rtkHndImageIO.cxx - rtkHndImageIOFactory.cxx - rtkXimImageIO.cxx - rtkXimImageIOFactory.cxx - rtkVarianObiXMLFileReader.cxx - rtkVarianObiGeometryReader.cxx - rtkVarianProBeamXMLFileReader.cxx - rtkVarianProBeamGeometryReader.cxx - rtkEdfImageIO.cxx - rtkEdfImageIOFactory.cxx - rtkImagXImageIO.cxx - rtkImagXImageIOFactory.cxx - rtkDCMImagXImageIO.cxx - rtkDCMImagXImageIOFactory.cxx - rtkImagXXMLFileReader.cxx - rtkThreeDCircularProjectionGeometry.cxx - rtkReg23ProjectionGeometry.cxx - rtkThreeDCircularProjectionGeometryXMLFile.cxx - rtkGeometricPhantomFileReader.cxx - rtkDigisensGeometryXMLFileReader.cxx - rtkDigisensGeometryReader.cxx - rtkXRadGeometryReader.cxx - rtkXRadImageIO.cxx - rtkXRadImageIOFactory.cxx - rtkIOFactories.cxx - rtkConvertEllipsoidToQuadricParametersFunction.cxx - rtkDrawQuadricSpatialObject.cxx - rtkOraXMLFileReader.cxx - rtkOraGeometryReader.cxx - rtkOraImageIO.cxx - rtkOraImageIOFactory.cxx - rtkConditionalMedianImageFilter.cxx) - -if(RTK_TIME_EACH_FILTER) - set(RTK_LIBRARY_FILES - ${RTK_LIBRARY_FILES} - rtkGlobalTimer.cxx - rtkGlobalTimerProbesCollector.cxx - rtkWatcherForTimer.cxx - rtkTimeProbesCollectorBase.cxx) -endif() -add_library(RTK ${RTK_LIBRARY_FILES}) - -target_link_libraries(RTK ${ITK_LIBRARIES}) -target_link_libraries(RTK lpsolve55) -#========================================================= - -#========================================================= -# Cuda library stuff -if (RTK_USE_CUDA) - set (RTK_LIBRARIES ${RTK_LIBRARIES} rtkcuda ITKCudaCommon ${CUDA_CUDA_LIBRARY} ${CUDA_CUDART_LIBRARY} ${CUDA_CUFFT_LIBRARIES} ${CUDA_CUBLAS_LIBRARIES}) - set (rtkcuda_CUDA_FILES - rtkCudaCropImageFilter.cu - rtkCudaUtilities.cu - rtkCudaFDKBackProjectionImageFilter.cu - rtkCudaFFTConvolutionImageFilter.cu - rtkCudaFDKWeightProjectionFilter.cu - rtkCudaDisplacedDetectorImageFilter.cu - rtkCudaParkerShortScanImageFilter.cu - rtkCudaForwardProjectionImageFilter.cu - rtkCudaBackProjectionImageFilter.cu - rtkCudaSplatImageFilter.cu - rtkCudaInterpolateImageFilter.cu - rtkCudaWarpImageFilter.cu - rtkCudaForwardWarpImageFilter.cu - rtkCudaRayCastBackProjectionImageFilter.cu - rtkCudaTotalVariationDenoisingBPDQImageFilter.cu - rtkCudaLastDimensionTVDenoisingImageFilter.cu - rtkCudaConstantVolumeSource.cu - rtkCudaConstantVolumeSeriesSource.cu - rtkCudaConjugateGradientImageFilter_3f.cu - rtkCudaConjugateGradientImageFilter_4f.cu - rtkCudaAverageOutOfROIImageFilter.cu - rtkCudaLaplacianImageFilter.cu - rtkCudaFirstOrderKernels.cu - rtkCudaWarpForwardProjectionImageFilter.cu - rtkCudaWarpBackProjectionImageFilter.cu - rtkCudaCyclicDeformationImageFilter.cu - rtkCudaLagCorrectionImageFilter.cu - rtkCudaPolynomialGainCorrectionImageFilter.cu - ) - # This is a fix for ITK4 to avoid too long cmd lines error - # (http://www.itk.org/Bug/view.php?id=12198) - if(WIN32) - get_directory_property(dirInc INCLUDE_DIRECTORIES) - find_path(itkMacroPath itkMacro.h ${dirInc}) - find_path(itkConfigurePath itkConfigure.h ${dirInc}) - find_path(rtkConfigurationPath rtkConfiguration.h ${dirInc}) - set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${itkMacroPath};${itkConfigurePath};${rtkConfigurationPath}") - endif() - - # This is a fix for when using Module_ITKVtkGlue - # (https://gitlab.kitware.com/vtk/vtk/issues/15895) - get_directory_property(defCom COMPILE_DEFINITIONS) - set(defComSansVTK) - foreach(def ${defCom}) - if(NOT def MATCHES "^vtk.*") - list(APPEND defComSansVTK ${def}) - endif() - endforeach() - set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "${defComSansVTK}") - - CUDA_COMPILE (rtkcuda_CUDA_WRAPPERS ${rtkcuda_CUDA_FILES}) - - # Rollback to all includes - if(WIN32) - set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${dirInc}") - endif() - - # Rollback to all compile definitions - set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "${defCom}") - - add_library(rtkcuda - rtkCudaFDKWeightProjectionFilter.cxx - rtkCudaDisplacedDetectorImageFilter.cxx - rtkCudaParkerShortScanImageFilter.cxx - rtkCudaCropImageFilter.cxx - rtkCudaFDKBackProjectionImageFilter.cxx - rtkCudaFDKConeBeamReconstructionFilter.cxx - rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx - rtkCudaBackProjectionImageFilter.cxx - rtkCudaSplatImageFilter.cxx - rtkCudaInterpolateImageFilter.cxx - rtkCudaWarpImageFilter.cxx - rtkCudaForwardWarpImageFilter.cxx - rtkCudaRayCastBackProjectionImageFilter.cxx - rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx - rtkCudaLastDimensionTVDenoisingImageFilter.cxx - rtkCudaWarpForwardProjectionImageFilter.cxx - rtkCudaWarpBackProjectionImageFilter.cxx - rtkCudaConstantVolumeSource.cxx - rtkCudaConstantVolumeSeriesSource.cxx - rtkCudaConjugateGradientImageFilter_3f.cxx - rtkCudaConjugateGradientImageFilter_4f.cxx - rtkCudaAverageOutOfROIImageFilter.cxx - rtkCudaLaplacianImageFilter.cxx - rtkCudaCyclicDeformationImageFilter.cxx - rtkCudaLagCorrectionImageFilter.cxx - rtkCudaPolynomialGainCorrectionImageFilter.cxx - ${rtkcuda_CUDA_WRAPPERS} - ${rtkcuda_CUDA_FILES}) - set_target_properties (rtkcuda PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(rtkcuda ${CUDA_LIBRARIES} ${CUDA_cufft_LIBRARY} ${CUDA_cublas_LIBRARY} RTK ITKCudaCommon) -endif () -#========================================================= - -#========================================================= -# Installation code -if(NOT RTK_INSTALL_NO_DEVELOPMENT) - # Generate RTKConfig.cmake for the install tree. - set (RTK_USE_FILE "${CMAKE_INSTALL_PREFIX}/${RTK_INSTALL_PACKAGE_DIR}/UseRTK.cmake") - set (RTK_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${RTK_INSTALL_INCLUDE_DIR};${CMAKE_INSTALL_PREFIX}/${RTK_INSTALL_INCLUDE_DIR}/lpsolve") - set (RTK_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}/${RTK_INSTALL_LIB_DIR}") - configure_file (${PROJECT_SOURCE_DIR}/cmake/RTKConfig.cmake.in ${RTK_BINARY_DIR}/CMakeFiles/RTKConfig.cmake @ONLY) - configure_file (${PROJECT_SOURCE_DIR}/cmake/RTKConfigVersion.cmake.in ${RTK_BINARY_DIR}/CMakeFiles/RTKConfigVersion.cmake @ONLY) - install(FILES ${RTK_BINARY_DIR}/CMakeFiles/RTKConfig.cmake - ${RTK_BINARY_DIR}/CMakeFiles/RTKConfigVersion.cmake - ${RTK_SOURCE_DIR}/cmake/UseRTK.cmake - DESTINATION ${RTK_INSTALL_PACKAGE_DIR}) - - # Include .h and .hxx files - file(GLOB __files1 "${PROJECT_SOURCE_DIR}/code/*.h") - file(GLOB __files2 "${PROJECT_SOURCE_DIR}/code/*.hxx") - install(FILES ${__files1} ${__files2} ${RTK_BINARY_DIR}/rtkConfiguration.h - DESTINATION ${RTK_INSTALL_INCLUDE_DIR} - COMPONENT Development) - if(RTK_USE_CUDA) - file(GLOB __files3 "${PROJECT_SOURCE_DIR}/code/*.hcu") - install(FILES ${__files3} - DESTINATION ${RTK_INSTALL_INCLUDE_DIR} - COMPONENT Development) - endif() -endif() - -if(NOT RTK_INSTALL_NO_LIBRARIES) - install(TARGETS RTK - RUNTIME DESTINATION ${RTK_INSTALL_RUNTIME_DIR} COMPONENT Runtime - LIBRARY DESTINATION ${RTK_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries - ARCHIVE DESTINATION ${RTK_INSTALL_ARCHIVE_DIR} COMPONENT Development) - - if(RTK_USE_CUDA) - install(TARGETS rtkcuda - RUNTIME DESTINATION ${RTK_INSTALL_RUNTIME_DIR} COMPONENT Runtime - LIBRARY DESTINATION ${RTK_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries - ARCHIVE DESTINATION ${RTK_INSTALL_ARCHIVE_DIR} COMPONENT Development) - endif() -endif() -#========================================================= - -set(RTK_LIBRARIES ${RTK_LIBRARIES} PARENT_SCOPE) diff --git a/code/rtkADMMTotalVariationConeBeamReconstructionFilter.h b/include/rtkADMMTotalVariationConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkADMMTotalVariationConeBeamReconstructionFilter.h rename to include/rtkADMMTotalVariationConeBeamReconstructionFilter.h diff --git a/code/rtkADMMTotalVariationConeBeamReconstructionFilter.hxx b/include/rtkADMMTotalVariationConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkADMMTotalVariationConeBeamReconstructionFilter.hxx rename to include/rtkADMMTotalVariationConeBeamReconstructionFilter.hxx diff --git a/code/rtkADMMTotalVariationConjugateGradientOperator.h b/include/rtkADMMTotalVariationConjugateGradientOperator.h similarity index 100% rename from code/rtkADMMTotalVariationConjugateGradientOperator.h rename to include/rtkADMMTotalVariationConjugateGradientOperator.h diff --git a/code/rtkADMMTotalVariationConjugateGradientOperator.hxx b/include/rtkADMMTotalVariationConjugateGradientOperator.hxx similarity index 100% rename from code/rtkADMMTotalVariationConjugateGradientOperator.hxx rename to include/rtkADMMTotalVariationConjugateGradientOperator.hxx diff --git a/code/rtkADMMWaveletsConeBeamReconstructionFilter.h b/include/rtkADMMWaveletsConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkADMMWaveletsConeBeamReconstructionFilter.h rename to include/rtkADMMWaveletsConeBeamReconstructionFilter.h diff --git a/code/rtkADMMWaveletsConeBeamReconstructionFilter.hxx b/include/rtkADMMWaveletsConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkADMMWaveletsConeBeamReconstructionFilter.hxx rename to include/rtkADMMWaveletsConeBeamReconstructionFilter.hxx diff --git a/code/rtkADMMWaveletsConjugateGradientOperator.h b/include/rtkADMMWaveletsConjugateGradientOperator.h similarity index 100% rename from code/rtkADMMWaveletsConjugateGradientOperator.h rename to include/rtkADMMWaveletsConjugateGradientOperator.h diff --git a/code/rtkADMMWaveletsConjugateGradientOperator.hxx b/include/rtkADMMWaveletsConjugateGradientOperator.hxx similarity index 100% rename from code/rtkADMMWaveletsConjugateGradientOperator.hxx rename to include/rtkADMMWaveletsConjugateGradientOperator.hxx diff --git a/code/rtkAdditiveGaussianNoiseImageFilter.h b/include/rtkAdditiveGaussianNoiseImageFilter.h similarity index 100% rename from code/rtkAdditiveGaussianNoiseImageFilter.h rename to include/rtkAdditiveGaussianNoiseImageFilter.h diff --git a/code/rtkAdditiveGaussianNoiseImageFilter.hxx b/include/rtkAdditiveGaussianNoiseImageFilter.hxx similarity index 100% rename from code/rtkAdditiveGaussianNoiseImageFilter.hxx rename to include/rtkAdditiveGaussianNoiseImageFilter.hxx diff --git a/code/rtkAmsterdamShroudImageFilter.h b/include/rtkAmsterdamShroudImageFilter.h similarity index 100% rename from code/rtkAmsterdamShroudImageFilter.h rename to include/rtkAmsterdamShroudImageFilter.h diff --git a/code/rtkAmsterdamShroudImageFilter.hxx b/include/rtkAmsterdamShroudImageFilter.hxx similarity index 100% rename from code/rtkAmsterdamShroudImageFilter.hxx rename to include/rtkAmsterdamShroudImageFilter.hxx diff --git a/code/rtkAverageOutOfROIImageFilter.h b/include/rtkAverageOutOfROIImageFilter.h similarity index 100% rename from code/rtkAverageOutOfROIImageFilter.h rename to include/rtkAverageOutOfROIImageFilter.h diff --git a/code/rtkAverageOutOfROIImageFilter.hxx b/include/rtkAverageOutOfROIImageFilter.hxx similarity index 100% rename from code/rtkAverageOutOfROIImageFilter.hxx rename to include/rtkAverageOutOfROIImageFilter.hxx diff --git a/code/rtkBackProjectionImageFilter.h b/include/rtkBackProjectionImageFilter.h similarity index 100% rename from code/rtkBackProjectionImageFilter.h rename to include/rtkBackProjectionImageFilter.h diff --git a/code/rtkBackProjectionImageFilter.hxx b/include/rtkBackProjectionImageFilter.hxx similarity index 100% rename from code/rtkBackProjectionImageFilter.hxx rename to include/rtkBackProjectionImageFilter.hxx diff --git a/code/rtkBackwardDifferenceDivergenceImageFilter.h b/include/rtkBackwardDifferenceDivergenceImageFilter.h similarity index 100% rename from code/rtkBackwardDifferenceDivergenceImageFilter.h rename to include/rtkBackwardDifferenceDivergenceImageFilter.h diff --git a/code/rtkBackwardDifferenceDivergenceImageFilter.hxx b/include/rtkBackwardDifferenceDivergenceImageFilter.hxx similarity index 100% rename from code/rtkBackwardDifferenceDivergenceImageFilter.hxx rename to include/rtkBackwardDifferenceDivergenceImageFilter.hxx diff --git a/code/rtkBoellaardScatterCorrectionImageFilter.h b/include/rtkBoellaardScatterCorrectionImageFilter.h similarity index 100% rename from code/rtkBoellaardScatterCorrectionImageFilter.h rename to include/rtkBoellaardScatterCorrectionImageFilter.h diff --git a/code/rtkBoellaardScatterCorrectionImageFilter.hxx b/include/rtkBoellaardScatterCorrectionImageFilter.hxx similarity index 100% rename from code/rtkBoellaardScatterCorrectionImageFilter.hxx rename to include/rtkBoellaardScatterCorrectionImageFilter.hxx diff --git a/code/rtkConditionalMedianImageFilter.h b/include/rtkConditionalMedianImageFilter.h similarity index 100% rename from code/rtkConditionalMedianImageFilter.h rename to include/rtkConditionalMedianImageFilter.h diff --git a/code/rtkConditionalMedianImageFilter.hxx b/include/rtkConditionalMedianImageFilter.hxx similarity index 100% rename from code/rtkConditionalMedianImageFilter.hxx rename to include/rtkConditionalMedianImageFilter.hxx diff --git a/code/rtkConjugateGradientConeBeamReconstructionFilter.h b/include/rtkConjugateGradientConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkConjugateGradientConeBeamReconstructionFilter.h rename to include/rtkConjugateGradientConeBeamReconstructionFilter.h diff --git a/code/rtkConjugateGradientConeBeamReconstructionFilter.hxx b/include/rtkConjugateGradientConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkConjugateGradientConeBeamReconstructionFilter.hxx rename to include/rtkConjugateGradientConeBeamReconstructionFilter.hxx diff --git a/code/rtkConjugateGradientGetP_kPlusOneImageFilter.h b/include/rtkConjugateGradientGetP_kPlusOneImageFilter.h similarity index 100% rename from code/rtkConjugateGradientGetP_kPlusOneImageFilter.h rename to include/rtkConjugateGradientGetP_kPlusOneImageFilter.h diff --git a/code/rtkConjugateGradientGetP_kPlusOneImageFilter.hxx b/include/rtkConjugateGradientGetP_kPlusOneImageFilter.hxx similarity index 100% rename from code/rtkConjugateGradientGetP_kPlusOneImageFilter.hxx rename to include/rtkConjugateGradientGetP_kPlusOneImageFilter.hxx diff --git a/code/rtkConjugateGradientGetR_kPlusOneImageFilter.h b/include/rtkConjugateGradientGetR_kPlusOneImageFilter.h similarity index 100% rename from code/rtkConjugateGradientGetR_kPlusOneImageFilter.h rename to include/rtkConjugateGradientGetR_kPlusOneImageFilter.h diff --git a/code/rtkConjugateGradientGetR_kPlusOneImageFilter.hxx b/include/rtkConjugateGradientGetR_kPlusOneImageFilter.hxx similarity index 100% rename from code/rtkConjugateGradientGetR_kPlusOneImageFilter.hxx rename to include/rtkConjugateGradientGetR_kPlusOneImageFilter.hxx diff --git a/code/rtkConjugateGradientGetX_kPlusOneImageFilter.h b/include/rtkConjugateGradientGetX_kPlusOneImageFilter.h similarity index 100% rename from code/rtkConjugateGradientGetX_kPlusOneImageFilter.h rename to include/rtkConjugateGradientGetX_kPlusOneImageFilter.h diff --git a/code/rtkConjugateGradientGetX_kPlusOneImageFilter.hxx b/include/rtkConjugateGradientGetX_kPlusOneImageFilter.hxx similarity index 100% rename from code/rtkConjugateGradientGetX_kPlusOneImageFilter.hxx rename to include/rtkConjugateGradientGetX_kPlusOneImageFilter.hxx diff --git a/code/rtkConjugateGradientImageFilter.h b/include/rtkConjugateGradientImageFilter.h similarity index 100% rename from code/rtkConjugateGradientImageFilter.h rename to include/rtkConjugateGradientImageFilter.h diff --git a/code/rtkConjugateGradientImageFilter.hxx b/include/rtkConjugateGradientImageFilter.hxx similarity index 100% rename from code/rtkConjugateGradientImageFilter.hxx rename to include/rtkConjugateGradientImageFilter.hxx diff --git a/code/rtkConjugateGradientOperator.h b/include/rtkConjugateGradientOperator.h similarity index 100% rename from code/rtkConjugateGradientOperator.h rename to include/rtkConjugateGradientOperator.h diff --git a/code/rtkConjugateGradientOperator.hxx b/include/rtkConjugateGradientOperator.hxx similarity index 100% rename from code/rtkConjugateGradientOperator.hxx rename to include/rtkConjugateGradientOperator.hxx diff --git a/code/rtkConstantImageSource.h b/include/rtkConstantImageSource.h similarity index 100% rename from code/rtkConstantImageSource.h rename to include/rtkConstantImageSource.h diff --git a/code/rtkConstantImageSource.hxx b/include/rtkConstantImageSource.hxx similarity index 100% rename from code/rtkConstantImageSource.hxx rename to include/rtkConstantImageSource.hxx diff --git a/code/rtkConvertEllipsoidToQuadricParametersFunction.h b/include/rtkConvertEllipsoidToQuadricParametersFunction.h similarity index 100% rename from code/rtkConvertEllipsoidToQuadricParametersFunction.h rename to include/rtkConvertEllipsoidToQuadricParametersFunction.h diff --git a/code/rtkCudaAverageOutOfROIImageFilter.h b/include/rtkCudaAverageOutOfROIImageFilter.h similarity index 100% rename from code/rtkCudaAverageOutOfROIImageFilter.h rename to include/rtkCudaAverageOutOfROIImageFilter.h diff --git a/code/rtkCudaAverageOutOfROIImageFilter.hcu b/include/rtkCudaAverageOutOfROIImageFilter.hcu similarity index 100% rename from code/rtkCudaAverageOutOfROIImageFilter.hcu rename to include/rtkCudaAverageOutOfROIImageFilter.hcu diff --git a/code/rtkCudaBackProjectionImageFilter.h b/include/rtkCudaBackProjectionImageFilter.h similarity index 100% rename from code/rtkCudaBackProjectionImageFilter.h rename to include/rtkCudaBackProjectionImageFilter.h diff --git a/code/rtkCudaBackProjectionImageFilter.hcu b/include/rtkCudaBackProjectionImageFilter.hcu similarity index 100% rename from code/rtkCudaBackProjectionImageFilter.hcu rename to include/rtkCudaBackProjectionImageFilter.hcu diff --git a/code/rtkCudaConjugateGradientImageFilter_3f.h b/include/rtkCudaConjugateGradientImageFilter_3f.h similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_3f.h rename to include/rtkCudaConjugateGradientImageFilter_3f.h diff --git a/code/rtkCudaConjugateGradientImageFilter_3f.hcu b/include/rtkCudaConjugateGradientImageFilter_3f.hcu similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_3f.hcu rename to include/rtkCudaConjugateGradientImageFilter_3f.hcu diff --git a/code/rtkCudaConjugateGradientImageFilter_4f.h b/include/rtkCudaConjugateGradientImageFilter_4f.h similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_4f.h rename to include/rtkCudaConjugateGradientImageFilter_4f.h diff --git a/code/rtkCudaConjugateGradientImageFilter_4f.hcu b/include/rtkCudaConjugateGradientImageFilter_4f.hcu similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_4f.hcu rename to include/rtkCudaConjugateGradientImageFilter_4f.hcu diff --git a/code/rtkCudaConstantVolumeSeriesSource.h b/include/rtkCudaConstantVolumeSeriesSource.h similarity index 100% rename from code/rtkCudaConstantVolumeSeriesSource.h rename to include/rtkCudaConstantVolumeSeriesSource.h diff --git a/code/rtkCudaConstantVolumeSeriesSource.hcu b/include/rtkCudaConstantVolumeSeriesSource.hcu similarity index 100% rename from code/rtkCudaConstantVolumeSeriesSource.hcu rename to include/rtkCudaConstantVolumeSeriesSource.hcu diff --git a/code/rtkCudaConstantVolumeSource.h b/include/rtkCudaConstantVolumeSource.h similarity index 100% rename from code/rtkCudaConstantVolumeSource.h rename to include/rtkCudaConstantVolumeSource.h diff --git a/code/rtkCudaConstantVolumeSource.hcu b/include/rtkCudaConstantVolumeSource.hcu similarity index 100% rename from code/rtkCudaConstantVolumeSource.hcu rename to include/rtkCudaConstantVolumeSource.hcu diff --git a/code/rtkCudaCropImageFilter.h b/include/rtkCudaCropImageFilter.h similarity index 100% rename from code/rtkCudaCropImageFilter.h rename to include/rtkCudaCropImageFilter.h diff --git a/code/rtkCudaCropImageFilter.hcu b/include/rtkCudaCropImageFilter.hcu similarity index 100% rename from code/rtkCudaCropImageFilter.hcu rename to include/rtkCudaCropImageFilter.hcu diff --git a/code/rtkCudaCyclicDeformationImageFilter.h b/include/rtkCudaCyclicDeformationImageFilter.h similarity index 100% rename from code/rtkCudaCyclicDeformationImageFilter.h rename to include/rtkCudaCyclicDeformationImageFilter.h diff --git a/code/rtkCudaCyclicDeformationImageFilter.hcu b/include/rtkCudaCyclicDeformationImageFilter.hcu similarity index 100% rename from code/rtkCudaCyclicDeformationImageFilter.hcu rename to include/rtkCudaCyclicDeformationImageFilter.hcu diff --git a/code/rtkCudaDisplacedDetectorImageFilter.h b/include/rtkCudaDisplacedDetectorImageFilter.h similarity index 100% rename from code/rtkCudaDisplacedDetectorImageFilter.h rename to include/rtkCudaDisplacedDetectorImageFilter.h diff --git a/code/rtkCudaDisplacedDetectorImageFilter.hcu b/include/rtkCudaDisplacedDetectorImageFilter.hcu similarity index 100% rename from code/rtkCudaDisplacedDetectorImageFilter.hcu rename to include/rtkCudaDisplacedDetectorImageFilter.hcu diff --git a/code/rtkCudaFDKBackProjectionImageFilter.h b/include/rtkCudaFDKBackProjectionImageFilter.h similarity index 100% rename from code/rtkCudaFDKBackProjectionImageFilter.h rename to include/rtkCudaFDKBackProjectionImageFilter.h diff --git a/code/rtkCudaFDKBackProjectionImageFilter.hcu b/include/rtkCudaFDKBackProjectionImageFilter.hcu similarity index 100% rename from code/rtkCudaFDKBackProjectionImageFilter.hcu rename to include/rtkCudaFDKBackProjectionImageFilter.hcu diff --git a/code/rtkCudaFDKConeBeamReconstructionFilter.h b/include/rtkCudaFDKConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkCudaFDKConeBeamReconstructionFilter.h rename to include/rtkCudaFDKConeBeamReconstructionFilter.h diff --git a/code/rtkCudaFDKWeightProjectionFilter.h b/include/rtkCudaFDKWeightProjectionFilter.h similarity index 100% rename from code/rtkCudaFDKWeightProjectionFilter.h rename to include/rtkCudaFDKWeightProjectionFilter.h diff --git a/code/rtkCudaFDKWeightProjectionFilter.hcu b/include/rtkCudaFDKWeightProjectionFilter.hcu similarity index 100% rename from code/rtkCudaFDKWeightProjectionFilter.hcu rename to include/rtkCudaFDKWeightProjectionFilter.hcu diff --git a/code/rtkCudaFFTConvolutionImageFilter.h b/include/rtkCudaFFTConvolutionImageFilter.h similarity index 100% rename from code/rtkCudaFFTConvolutionImageFilter.h rename to include/rtkCudaFFTConvolutionImageFilter.h diff --git a/code/rtkCudaFFTConvolutionImageFilter.hcu b/include/rtkCudaFFTConvolutionImageFilter.hcu similarity index 100% rename from code/rtkCudaFFTConvolutionImageFilter.hcu rename to include/rtkCudaFFTConvolutionImageFilter.hcu diff --git a/code/rtkCudaFFTConvolutionImageFilter.hxx b/include/rtkCudaFFTConvolutionImageFilter.hxx similarity index 100% rename from code/rtkCudaFFTConvolutionImageFilter.hxx rename to include/rtkCudaFFTConvolutionImageFilter.hxx diff --git a/code/rtkCudaFFTRampImageFilter.h b/include/rtkCudaFFTRampImageFilter.h similarity index 100% rename from code/rtkCudaFFTRampImageFilter.h rename to include/rtkCudaFFTRampImageFilter.h diff --git a/code/rtkCudaFirstOrderKernels.hcu b/include/rtkCudaFirstOrderKernels.hcu similarity index 100% rename from code/rtkCudaFirstOrderKernels.hcu rename to include/rtkCudaFirstOrderKernels.hcu diff --git a/code/rtkCudaForwardProjectionImageFilter.h b/include/rtkCudaForwardProjectionImageFilter.h similarity index 100% rename from code/rtkCudaForwardProjectionImageFilter.h rename to include/rtkCudaForwardProjectionImageFilter.h diff --git a/code/rtkCudaForwardProjectionImageFilter.hcu b/include/rtkCudaForwardProjectionImageFilter.hcu similarity index 100% rename from code/rtkCudaForwardProjectionImageFilter.hcu rename to include/rtkCudaForwardProjectionImageFilter.hcu diff --git a/code/rtkCudaForwardProjectionImageFilter.hxx b/include/rtkCudaForwardProjectionImageFilter.hxx similarity index 100% rename from code/rtkCudaForwardProjectionImageFilter.hxx rename to include/rtkCudaForwardProjectionImageFilter.hxx diff --git a/code/rtkCudaForwardWarpImageFilter.h b/include/rtkCudaForwardWarpImageFilter.h similarity index 100% rename from code/rtkCudaForwardWarpImageFilter.h rename to include/rtkCudaForwardWarpImageFilter.h diff --git a/code/rtkCudaForwardWarpImageFilter.hcu b/include/rtkCudaForwardWarpImageFilter.hcu similarity index 100% rename from code/rtkCudaForwardWarpImageFilter.hcu rename to include/rtkCudaForwardWarpImageFilter.hcu diff --git a/code/rtkCudaInterpolateImageFilter.h b/include/rtkCudaInterpolateImageFilter.h similarity index 100% rename from code/rtkCudaInterpolateImageFilter.h rename to include/rtkCudaInterpolateImageFilter.h diff --git a/code/rtkCudaInterpolateImageFilter.hcu b/include/rtkCudaInterpolateImageFilter.hcu similarity index 100% rename from code/rtkCudaInterpolateImageFilter.hcu rename to include/rtkCudaInterpolateImageFilter.hcu diff --git a/code/rtkCudaIntersectBox.hcu b/include/rtkCudaIntersectBox.hcu similarity index 100% rename from code/rtkCudaIntersectBox.hcu rename to include/rtkCudaIntersectBox.hcu diff --git a/code/rtkCudaIterativeFDKConeBeamReconstructionFilter.h b/include/rtkCudaIterativeFDKConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkCudaIterativeFDKConeBeamReconstructionFilter.h rename to include/rtkCudaIterativeFDKConeBeamReconstructionFilter.h diff --git a/code/rtkCudaLagCorrectionImageFilter.h b/include/rtkCudaLagCorrectionImageFilter.h similarity index 100% rename from code/rtkCudaLagCorrectionImageFilter.h rename to include/rtkCudaLagCorrectionImageFilter.h diff --git a/code/rtkCudaLagCorrectionImageFilter.hcu b/include/rtkCudaLagCorrectionImageFilter.hcu similarity index 100% rename from code/rtkCudaLagCorrectionImageFilter.hcu rename to include/rtkCudaLagCorrectionImageFilter.hcu diff --git a/code/rtkCudaLaplacianImageFilter.h b/include/rtkCudaLaplacianImageFilter.h similarity index 100% rename from code/rtkCudaLaplacianImageFilter.h rename to include/rtkCudaLaplacianImageFilter.h diff --git a/code/rtkCudaLaplacianImageFilter.hcu b/include/rtkCudaLaplacianImageFilter.hcu similarity index 100% rename from code/rtkCudaLaplacianImageFilter.hcu rename to include/rtkCudaLaplacianImageFilter.hcu diff --git a/code/rtkCudaLastDimensionTVDenoisingImageFilter.h b/include/rtkCudaLastDimensionTVDenoisingImageFilter.h similarity index 100% rename from code/rtkCudaLastDimensionTVDenoisingImageFilter.h rename to include/rtkCudaLastDimensionTVDenoisingImageFilter.h diff --git a/code/rtkCudaLastDimensionTVDenoisingImageFilter.hcu b/include/rtkCudaLastDimensionTVDenoisingImageFilter.hcu similarity index 100% rename from code/rtkCudaLastDimensionTVDenoisingImageFilter.hcu rename to include/rtkCudaLastDimensionTVDenoisingImageFilter.hcu diff --git a/code/rtkCudaParkerShortScanImageFilter.h b/include/rtkCudaParkerShortScanImageFilter.h similarity index 100% rename from code/rtkCudaParkerShortScanImageFilter.h rename to include/rtkCudaParkerShortScanImageFilter.h diff --git a/code/rtkCudaParkerShortScanImageFilter.hcu b/include/rtkCudaParkerShortScanImageFilter.hcu similarity index 100% rename from code/rtkCudaParkerShortScanImageFilter.hcu rename to include/rtkCudaParkerShortScanImageFilter.hcu diff --git a/code/rtkCudaPolynomialGainCorrectionImageFilter.h b/include/rtkCudaPolynomialGainCorrectionImageFilter.h similarity index 100% rename from code/rtkCudaPolynomialGainCorrectionImageFilter.h rename to include/rtkCudaPolynomialGainCorrectionImageFilter.h diff --git a/code/rtkCudaPolynomialGainCorrectionImageFilter.hcu b/include/rtkCudaPolynomialGainCorrectionImageFilter.hcu similarity index 100% rename from code/rtkCudaPolynomialGainCorrectionImageFilter.hcu rename to include/rtkCudaPolynomialGainCorrectionImageFilter.hcu diff --git a/code/rtkCudaRayCastBackProjectionImageFilter.h b/include/rtkCudaRayCastBackProjectionImageFilter.h similarity index 100% rename from code/rtkCudaRayCastBackProjectionImageFilter.h rename to include/rtkCudaRayCastBackProjectionImageFilter.h diff --git a/code/rtkCudaRayCastBackProjectionImageFilter.hcu b/include/rtkCudaRayCastBackProjectionImageFilter.hcu similarity index 100% rename from code/rtkCudaRayCastBackProjectionImageFilter.hcu rename to include/rtkCudaRayCastBackProjectionImageFilter.hcu diff --git a/code/rtkCudaScatterGlareCorrectionImageFilter.h b/include/rtkCudaScatterGlareCorrectionImageFilter.h similarity index 100% rename from code/rtkCudaScatterGlareCorrectionImageFilter.h rename to include/rtkCudaScatterGlareCorrectionImageFilter.h diff --git a/code/rtkCudaSplatImageFilter.h b/include/rtkCudaSplatImageFilter.h similarity index 100% rename from code/rtkCudaSplatImageFilter.h rename to include/rtkCudaSplatImageFilter.h diff --git a/code/rtkCudaSplatImageFilter.hcu b/include/rtkCudaSplatImageFilter.hcu similarity index 100% rename from code/rtkCudaSplatImageFilter.hcu rename to include/rtkCudaSplatImageFilter.hcu diff --git a/code/rtkCudaTotalVariationDenoisingBPDQImageFilter.h b/include/rtkCudaTotalVariationDenoisingBPDQImageFilter.h similarity index 100% rename from code/rtkCudaTotalVariationDenoisingBPDQImageFilter.h rename to include/rtkCudaTotalVariationDenoisingBPDQImageFilter.h diff --git a/code/rtkCudaTotalVariationDenoisingBPDQImageFilter.hcu b/include/rtkCudaTotalVariationDenoisingBPDQImageFilter.hcu similarity index 100% rename from code/rtkCudaTotalVariationDenoisingBPDQImageFilter.hcu rename to include/rtkCudaTotalVariationDenoisingBPDQImageFilter.hcu diff --git a/code/rtkCudaUtilities.hcu b/include/rtkCudaUtilities.hcu similarity index 100% rename from code/rtkCudaUtilities.hcu rename to include/rtkCudaUtilities.hcu diff --git a/code/rtkCudaWarpBackProjectionImageFilter.h b/include/rtkCudaWarpBackProjectionImageFilter.h similarity index 100% rename from code/rtkCudaWarpBackProjectionImageFilter.h rename to include/rtkCudaWarpBackProjectionImageFilter.h diff --git a/code/rtkCudaWarpBackProjectionImageFilter.hcu b/include/rtkCudaWarpBackProjectionImageFilter.hcu similarity index 100% rename from code/rtkCudaWarpBackProjectionImageFilter.hcu rename to include/rtkCudaWarpBackProjectionImageFilter.hcu diff --git a/code/rtkCudaWarpForwardProjectionImageFilter.h b/include/rtkCudaWarpForwardProjectionImageFilter.h similarity index 100% rename from code/rtkCudaWarpForwardProjectionImageFilter.h rename to include/rtkCudaWarpForwardProjectionImageFilter.h diff --git a/code/rtkCudaWarpForwardProjectionImageFilter.hcu b/include/rtkCudaWarpForwardProjectionImageFilter.hcu similarity index 100% rename from code/rtkCudaWarpForwardProjectionImageFilter.hcu rename to include/rtkCudaWarpForwardProjectionImageFilter.hcu diff --git a/code/rtkCudaWarpImageFilter.h b/include/rtkCudaWarpImageFilter.h similarity index 100% rename from code/rtkCudaWarpImageFilter.h rename to include/rtkCudaWarpImageFilter.h diff --git a/code/rtkCudaWarpImageFilter.hcu b/include/rtkCudaWarpImageFilter.hcu similarity index 100% rename from code/rtkCudaWarpImageFilter.hcu rename to include/rtkCudaWarpImageFilter.hcu diff --git a/code/rtkCyclicDeformationImageFilter.h b/include/rtkCyclicDeformationImageFilter.h similarity index 100% rename from code/rtkCyclicDeformationImageFilter.h rename to include/rtkCyclicDeformationImageFilter.h diff --git a/code/rtkCyclicDeformationImageFilter.hxx b/include/rtkCyclicDeformationImageFilter.hxx similarity index 100% rename from code/rtkCyclicDeformationImageFilter.hxx rename to include/rtkCyclicDeformationImageFilter.hxx diff --git a/code/rtkDCMImagXImageIO.h b/include/rtkDCMImagXImageIO.h similarity index 100% rename from code/rtkDCMImagXImageIO.h rename to include/rtkDCMImagXImageIO.h diff --git a/code/rtkDCMImagXImageIOFactory.h b/include/rtkDCMImagXImageIOFactory.h similarity index 100% rename from code/rtkDCMImagXImageIOFactory.h rename to include/rtkDCMImagXImageIOFactory.h diff --git a/code/rtkDPExtractShroudSignalImageFilter.h b/include/rtkDPExtractShroudSignalImageFilter.h similarity index 100% rename from code/rtkDPExtractShroudSignalImageFilter.h rename to include/rtkDPExtractShroudSignalImageFilter.h diff --git a/code/rtkDPExtractShroudSignalImageFilter.hxx b/include/rtkDPExtractShroudSignalImageFilter.hxx similarity index 100% rename from code/rtkDPExtractShroudSignalImageFilter.hxx rename to include/rtkDPExtractShroudSignalImageFilter.hxx diff --git a/code/rtkDaubechiesWaveletsConvolutionImageFilter.h b/include/rtkDaubechiesWaveletsConvolutionImageFilter.h similarity index 100% rename from code/rtkDaubechiesWaveletsConvolutionImageFilter.h rename to include/rtkDaubechiesWaveletsConvolutionImageFilter.h diff --git a/code/rtkDaubechiesWaveletsConvolutionImageFilter.hxx b/include/rtkDaubechiesWaveletsConvolutionImageFilter.hxx similarity index 100% rename from code/rtkDaubechiesWaveletsConvolutionImageFilter.hxx rename to include/rtkDaubechiesWaveletsConvolutionImageFilter.hxx diff --git a/code/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.h b/include/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.h similarity index 100% rename from code/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.h rename to include/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.h diff --git a/code/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.hxx b/include/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.hxx similarity index 100% rename from code/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.hxx rename to include/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.hxx diff --git a/code/rtkDbf.h b/include/rtkDbf.h similarity index 100% rename from code/rtkDbf.h rename to include/rtkDbf.h diff --git a/code/rtkDeconstructImageFilter.h b/include/rtkDeconstructImageFilter.h similarity index 100% rename from code/rtkDeconstructImageFilter.h rename to include/rtkDeconstructImageFilter.h diff --git a/code/rtkDeconstructImageFilter.hxx b/include/rtkDeconstructImageFilter.hxx similarity index 100% rename from code/rtkDeconstructImageFilter.hxx rename to include/rtkDeconstructImageFilter.hxx diff --git a/code/rtkDeconstructSoftThresholdReconstructImageFilter.h b/include/rtkDeconstructSoftThresholdReconstructImageFilter.h similarity index 100% rename from code/rtkDeconstructSoftThresholdReconstructImageFilter.h rename to include/rtkDeconstructSoftThresholdReconstructImageFilter.h diff --git a/code/rtkDeconstructSoftThresholdReconstructImageFilter.hxx b/include/rtkDeconstructSoftThresholdReconstructImageFilter.hxx similarity index 97% rename from code/rtkDeconstructSoftThresholdReconstructImageFilter.hxx rename to include/rtkDeconstructSoftThresholdReconstructImageFilter.hxx index 9e076aea2..f0adf76fb 100644 --- a/code/rtkDeconstructSoftThresholdReconstructImageFilter.hxx +++ b/include/rtkDeconstructSoftThresholdReconstructImageFilter.hxx @@ -1,136 +1,136 @@ -/*========================================================================= - * - * Copyright RTK Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0.txt - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - *=========================================================================*/ - -#ifndef rtkDeconstructSoftThresholdReconstructImageFilter_hxx -#define rtkDeconstructSoftThresholdReconstructImageFilter_hxx - -//rtk Includes -#include "rtkDeconstructSoftThresholdReconstructImageFilter.h" - -namespace rtk -{ - -///////////////////////////////////////////////////////// -//Constructor() -template -DeconstructSoftThresholdReconstructImageFilter -::DeconstructSoftThresholdReconstructImageFilter() -{ - m_DeconstructionFilter = DeconstructFilterType::New(); - m_ReconstructionFilter = ReconstructFilterType::New(); - m_Order = 3; - m_Threshold = 0; - m_PipelineConstructed = false; -} - - -///////////////////////////////////////////////////////// -//PrintSelf() -template -void -DeconstructSoftThresholdReconstructImageFilter -::PrintSelf(std::ostream& os, itk::Indent indent) const -{ - Superclass::PrintSelf(os, indent); -} - -///////////////////////////////////////////////////////// -// Pass the number of decomposition levels to the wavelet -// filters -template -void -DeconstructSoftThresholdReconstructImageFilter -::SetNumberOfLevels(unsigned int levels) -{ - m_DeconstructionFilter->SetNumberOfLevels(levels); - m_ReconstructionFilter->SetNumberOfLevels(levels); -} - -///////////////////////////////////////////////////////// -//GenerateInputRequestedRegion() -template -void -DeconstructSoftThresholdReconstructImageFilter -::GenerateInputRequestedRegion() -{ - InputImagePointer inputPtr = const_cast(this->GetInput()); - inputPtr->SetRequestedRegionToLargestPossibleRegion(); -} - -///////////////////////////////////////////////////////// -//GenerateOutputInformation() -template -void -DeconstructSoftThresholdReconstructImageFilter -::GenerateOutputInformation() -{ - - if (!m_PipelineConstructed) - { - // Connect the inputs - m_DeconstructionFilter->SetInput(this->GetInput()); - m_DeconstructionFilter->ReleaseDataFlagOn(); - - // Set runtime parameters - m_DeconstructionFilter->SetOrder(this->GetOrder()); - m_ReconstructionFilter->SetOrder(this->GetOrder()); - m_DeconstructionFilter->UpdateOutputInformation(); - m_ReconstructionFilter->SetSizes(m_DeconstructionFilter->GetSizes()); - m_ReconstructionFilter->SetIndices(m_DeconstructionFilter->GetIndices()); - - //Create and setup an array of soft threshold filters - for (unsigned int index=0; index < m_DeconstructionFilter->GetNumberOfOutputs(); index++) - { - // Soft thresholding - m_SoftTresholdFilters.push_back(SoftThresholdFilterType::New()); - m_SoftTresholdFilters[index]->SetInput(m_DeconstructionFilter->GetOutput(index)); - m_SoftTresholdFilters[index]->SetThreshold(m_Threshold); - m_SoftTresholdFilters[index]->ReleaseDataFlagOn(); - - //Set input for reconstruction - m_ReconstructionFilter->SetInput(index, m_SoftTresholdFilters[index]->GetOutput()); - } - - // The low pass coefficients are not thresholded - m_SoftTresholdFilters[0]->SetThreshold(0); - } - - m_PipelineConstructed = true; - - // Have the last filter calculate its output information - // and copy it as the output information of the composite filter - m_ReconstructionFilter->UpdateOutputInformation(); - this->GetOutput()->CopyInformation( m_ReconstructionFilter->GetOutput() ); -} - -///////////////////////////////////////////////////////// -//GenerateData() -template -void -DeconstructSoftThresholdReconstructImageFilter -::GenerateData() -{ - // Perform reconstruction - m_ReconstructionFilter->Update(); - this->GraftOutput( m_ReconstructionFilter->GetOutput() ); -} - - -}// end namespace rtk - -#endif +/*========================================================================= + * + * Copyright RTK Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ + +#ifndef rtkDeconstructSoftThresholdReconstructImageFilter_hxx +#define rtkDeconstructSoftThresholdReconstructImageFilter_hxx + +//rtk Includes +#include "rtkDeconstructSoftThresholdReconstructImageFilter.h" + +namespace rtk +{ + +///////////////////////////////////////////////////////// +//Constructor() +template +DeconstructSoftThresholdReconstructImageFilter +::DeconstructSoftThresholdReconstructImageFilter() +{ + m_DeconstructionFilter = DeconstructFilterType::New(); + m_ReconstructionFilter = ReconstructFilterType::New(); + m_Order = 3; + m_Threshold = 0; + m_PipelineConstructed = false; +} + + +///////////////////////////////////////////////////////// +//PrintSelf() +template +void +DeconstructSoftThresholdReconstructImageFilter +::PrintSelf(std::ostream& os, itk::Indent indent) const +{ + Superclass::PrintSelf(os, indent); +} + +///////////////////////////////////////////////////////// +// Pass the number of decomposition levels to the wavelet +// filters +template +void +DeconstructSoftThresholdReconstructImageFilter +::SetNumberOfLevels(unsigned int levels) +{ + m_DeconstructionFilter->SetNumberOfLevels(levels); + m_ReconstructionFilter->SetNumberOfLevels(levels); +} + +///////////////////////////////////////////////////////// +//GenerateInputRequestedRegion() +template +void +DeconstructSoftThresholdReconstructImageFilter +::GenerateInputRequestedRegion() +{ + InputImagePointer inputPtr = const_cast(this->GetInput()); + inputPtr->SetRequestedRegionToLargestPossibleRegion(); +} + +///////////////////////////////////////////////////////// +//GenerateOutputInformation() +template +void +DeconstructSoftThresholdReconstructImageFilter +::GenerateOutputInformation() +{ + + if (!m_PipelineConstructed) + { + // Connect the inputs + m_DeconstructionFilter->SetInput(this->GetInput()); + m_DeconstructionFilter->ReleaseDataFlagOn(); + + // Set runtime parameters + m_DeconstructionFilter->SetOrder(this->GetOrder()); + m_ReconstructionFilter->SetOrder(this->GetOrder()); + m_DeconstructionFilter->UpdateOutputInformation(); + m_ReconstructionFilter->SetSizes(m_DeconstructionFilter->GetSizes()); + m_ReconstructionFilter->SetIndices(m_DeconstructionFilter->GetIndices()); + + //Create and setup an array of soft threshold filters + for (unsigned int index=0; index < m_DeconstructionFilter->GetNumberOfOutputs(); index++) + { + // Soft thresholding + m_SoftTresholdFilters.push_back(SoftThresholdFilterType::New()); + m_SoftTresholdFilters[index]->SetInput(m_DeconstructionFilter->GetOutput(index)); + m_SoftTresholdFilters[index]->SetThreshold(m_Threshold); + m_SoftTresholdFilters[index]->ReleaseDataFlagOn(); + + //Set input for reconstruction + m_ReconstructionFilter->SetInput(index, m_SoftTresholdFilters[index]->GetOutput()); + } + + // The low pass coefficients are not thresholded + m_SoftTresholdFilters[0]->SetThreshold(0); + } + + m_PipelineConstructed = true; + + // Have the last filter calculate its output information + // and copy it as the output information of the composite filter + m_ReconstructionFilter->UpdateOutputInformation(); + this->GetOutput()->CopyInformation( m_ReconstructionFilter->GetOutput() ); +} + +///////////////////////////////////////////////////////// +//GenerateData() +template +void +DeconstructSoftThresholdReconstructImageFilter +::GenerateData() +{ + // Perform reconstruction + m_ReconstructionFilter->Update(); + this->GraftOutput( m_ReconstructionFilter->GetOutput() ); +} + + +}// end namespace rtk + +#endif diff --git a/code/rtkDenoisingBPDQImageFilter.h b/include/rtkDenoisingBPDQImageFilter.h similarity index 100% rename from code/rtkDenoisingBPDQImageFilter.h rename to include/rtkDenoisingBPDQImageFilter.h diff --git a/code/rtkDenoisingBPDQImageFilter.hxx b/include/rtkDenoisingBPDQImageFilter.hxx similarity index 100% rename from code/rtkDenoisingBPDQImageFilter.hxx rename to include/rtkDenoisingBPDQImageFilter.hxx diff --git a/code/rtkDigisensGeometryReader.h b/include/rtkDigisensGeometryReader.h similarity index 100% rename from code/rtkDigisensGeometryReader.h rename to include/rtkDigisensGeometryReader.h diff --git a/code/rtkDigisensGeometryXMLFileReader.h b/include/rtkDigisensGeometryXMLFileReader.h similarity index 100% rename from code/rtkDigisensGeometryXMLFileReader.h rename to include/rtkDigisensGeometryXMLFileReader.h diff --git a/code/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.h b/include/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.h similarity index 100% rename from code/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.h rename to include/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.h diff --git a/code/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.hxx b/include/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.hxx similarity index 100% rename from code/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.hxx rename to include/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.hxx diff --git a/code/rtkDisplacedDetectorImageFilter.h b/include/rtkDisplacedDetectorImageFilter.h similarity index 100% rename from code/rtkDisplacedDetectorImageFilter.h rename to include/rtkDisplacedDetectorImageFilter.h diff --git a/code/rtkDisplacedDetectorImageFilter.hxx b/include/rtkDisplacedDetectorImageFilter.hxx similarity index 100% rename from code/rtkDisplacedDetectorImageFilter.hxx rename to include/rtkDisplacedDetectorImageFilter.hxx diff --git a/code/rtkDivergenceOfGradientConjugateGradientOperator.h b/include/rtkDivergenceOfGradientConjugateGradientOperator.h similarity index 100% rename from code/rtkDivergenceOfGradientConjugateGradientOperator.h rename to include/rtkDivergenceOfGradientConjugateGradientOperator.h diff --git a/code/rtkDivergenceOfGradientConjugateGradientOperator.hxx b/include/rtkDivergenceOfGradientConjugateGradientOperator.hxx similarity index 100% rename from code/rtkDivergenceOfGradientConjugateGradientOperator.hxx rename to include/rtkDivergenceOfGradientConjugateGradientOperator.hxx diff --git a/code/rtkDownsampleImageFilter.h b/include/rtkDownsampleImageFilter.h similarity index 100% rename from code/rtkDownsampleImageFilter.h rename to include/rtkDownsampleImageFilter.h diff --git a/code/rtkDownsampleImageFilter.hxx b/include/rtkDownsampleImageFilter.hxx similarity index 96% rename from code/rtkDownsampleImageFilter.hxx rename to include/rtkDownsampleImageFilter.hxx index aed8ac04b..547323167 100644 --- a/code/rtkDownsampleImageFilter.hxx +++ b/include/rtkDownsampleImageFilter.hxx @@ -1,298 +1,298 @@ -/*========================================================================= - * - * Copyright RTK Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0.txt - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - *=========================================================================*/ - -#ifndef rtkDownsampleImageFilter_hxx -#define rtkDownsampleImageFilter_hxx - -#include "rtkDownsampleImageFilter.h" - -#include "itkImageRegionIterator.h" -#include "itkObjectFactory.h" -#include "itkProgressReporter.h" - -namespace rtk -{ - -/** - * Constructor - */ -template -DownsampleImageFilter -::DownsampleImageFilter() -{ - this->SetNumberOfRequiredInputs(1); -} - -/** - * - */ -template -void -DownsampleImageFilter -::SetFactors(unsigned int factors[]) -{ - unsigned int j; - - this->Modified(); - for (j = 0; j < ImageDimension; j++) - { - m_Factors[j] = factors[j]; - if (m_Factors[j] < 1) - { - m_Factors[j] = 1; - } - } -} - -/** - * - */ -template -void -DownsampleImageFilter -::SetFactor(unsigned int dimension, unsigned int factor) -{ - unsigned int j; - - this->Modified(); - for (j = 0; j < ImageDimension; j++) - { - if (j == dimension) - { - m_Factors[j] = factor; - } - else - { - m_Factors[j] = 1; - } - } -} - - -//template -//void -//DownsampleImageFilter -//::BeforeThreadedGenerateData() -//{ -// std::cout << "In DownsampleImageFilter : BeforeThreadedGenerateData, input size = " << this->GetInput()->GetLargestPossibleRegion().GetSize() << std::endl; -//} - -/** - * - */ -template -void -DownsampleImageFilter -::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) -{ - itkDebugMacro(<<"Actually executing"); - - //Get the input and output pointers - InputImageConstPointer inputPtr = this->GetInput(); - OutputImagePointer outputPtr = this->GetOutput(); - - //Define/declare an iterator that will walk the output region for this - //thread. - typedef itk::ImageRegionIterator OutputIterator; - typedef itk::ImageRegionConstIterator InputIterator; - - //Define a few indices that will be used to translate from an input pixel - //to an output pixel - typename TInputImage::IndexType inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex(); - typename TOutputImage::IndexType outputStartIndex = outputPtr->GetLargestPossibleRegion().GetIndex(); - - typename TOutputImage::OffsetType firstPixelOfOutputRegionForThreadOffset; - typename TInputImage::OffsetType firstPixelOfInputRegionForThreadOffset; - typename TOutputImage::OffsetType firstPixelOfOutputLineOffset; - typename TInputImage::OffsetType firstPixelOfInputLineOffset; - typename TOutputImage::OffsetType offset; - - //Support progress methods/callbacks - itk::ProgressReporter progress(this, threadId, outputRegionForThread.GetNumberOfPixels()); - - //Unless the downsampling factor is 1, we always skip the first pixel - //Create an offset array to enforce this behavior - for (unsigned int i=0; i < TInputImage::ImageDimension; i++) - { - if (m_Factors[i] == 1) - { - offset[i] = 0; - } - else - { - offset[i] = 1; - } - } - - //Find the first input pixel that is copied to the output (the one with lowest indices - //in all dimensions) - firstPixelOfOutputRegionForThreadOffset = - outputRegionForThread.GetIndex() - outputStartIndex; - for (unsigned int dim=0; dim < TInputImage::ImageDimension; dim++) - { - firstPixelOfInputRegionForThreadOffset[dim] = - firstPixelOfOutputRegionForThreadOffset[dim] * m_Factors[dim] - + offset[dim]; - } - - // Walk the slice obtained by setting the first coordinate to zero. - // Each pixel is the beginning of a line (a 1D vector traversing - // the output region along the first dimension). For each pixel, - // create an iterator and perform the copy from the input - OutputImageRegionType slice = outputRegionForThread; - slice.SetSize(0, 1); - OutputIterator sliceIt(outputPtr, slice); - - while (!sliceIt.IsAtEnd()) - { - //Determine the offset of the current pixel in the slice - firstPixelOfOutputLineOffset = sliceIt.GetIndex() - outputStartIndex; - - //Calculate the offset of the corresponding input pixel - for (unsigned int dim=0; dim < TInputImage::ImageDimension; dim++) - { - firstPixelOfInputLineOffset[dim] = - firstPixelOfOutputLineOffset[dim] * m_Factors[dim] - + offset[dim]; - } - - // Create the iterators - typename TOutputImage::RegionType outputLine = outputRegionForThread; - typename TOutputImage::SizeType outputLineSize; - outputLineSize.Fill(1); - outputLineSize[0] = outputRegionForThread.GetSize(0); - outputLine.SetSize(outputLineSize); - outputLine.SetIndex(sliceIt.GetIndex()); - - typename TInputImage::RegionType inputLine = inputPtr->GetLargestPossibleRegion(); - typename TInputImage::SizeType inputLineSize; - inputLineSize.Fill(1); - - // Short example of how to calculate the inputLineSize : - // If we downsample by a factor 3 the vector [x a x x b x x], - // (starting in "a" because we have already taken into account the - // offset, using firstPixelOfInputLineOffset) we obtain [a b], - // so all we need is a vector of length 4 = (2 - 1) * 3 + 1 - inputLineSize[0] = (outputLineSize[0] - 1) * m_Factors[0] + 1; - inputLine.SetSize(inputLineSize); - inputLine.SetIndex(inputStartIndex + firstPixelOfInputLineOffset); - - OutputIterator outIt(outputPtr, outputLine); - InputIterator inIt(inputPtr, inputLine); - - // Walk the line and copy the pixels - while(!outIt.IsAtEnd()) - { - outIt.Set(inIt.Get()); - for (unsigned int i=0; i -//void -//DownsampleImageFilter -//::AfterThreadedGenerateData() -//{ -// std::cout << "In DownsampleImageFilter : AfterThreadedGenerateData" << std::endl; -//} - -/** - * - */ -template -void -DownsampleImageFilter -::GenerateInputRequestedRegion() -{ - //Call the superclass' implementation of this method - Superclass::GenerateInputRequestedRegion(); - - //Get pointers to the input and output - InputImagePointer inputPtr = const_cast(this->GetInput()); - OutputImagePointer outputPtr = this->GetOutput(); - - if (!inputPtr || !outputPtr) - { - return; - } - inputPtr->SetRequestedRegionToLargestPossibleRegion(); -} - -/** - * - */ -template -void -DownsampleImageFilter -::GenerateOutputInformation() -{ - //Call the superclass' implementation of this method - Superclass::GenerateOutputInformation(); - - //Get pointers to the input and output - InputImageConstPointer inputPtr = this->GetInput(); - OutputImagePointer outputPtr = this->GetOutput(); - - if (!inputPtr || !outputPtr) - { - return; - } - - //We need to compute the output spacing, the output image size, and the - //output image start index - unsigned int i; - const typename TInputImage::SpacingType& inputSpacing = inputPtr->GetSpacing(); - const typename TInputImage::SizeType& inputSize = inputPtr->GetLargestPossibleRegion().GetSize(); - const typename TInputImage::IndexType& inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex(); - - typename TOutputImage::SpacingType outputSpacing; - typename TOutputImage::SizeType outputSize; - typename TOutputImage::IndexType outputStartIndex; - - for (i = 0; i < TOutputImage::ImageDimension; i++) - { - outputSpacing[i] = inputSpacing[i] * (float)m_Factors[i]; - outputSize[i] = (unsigned long)floor((float) inputSize[i] / (float)m_Factors[i]); - if (outputSize[i] < 1) - { - outputSize[i] = 1; - } - - outputStartIndex[i] = (long)floor((float) inputStartIndex[i] / (float)m_Factors[i]); - } - - outputPtr->SetSpacing(outputSpacing); - - typename TOutputImage::RegionType outputLargestPossibleRegion; - outputLargestPossibleRegion.SetSize(outputSize); - outputLargestPossibleRegion.SetIndex(outputStartIndex); - - outputPtr->SetRegions(outputLargestPossibleRegion); -} - -} // end namespace rtk - -#endif +/*========================================================================= + * + * Copyright RTK Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ + +#ifndef rtkDownsampleImageFilter_hxx +#define rtkDownsampleImageFilter_hxx + +#include "rtkDownsampleImageFilter.h" + +#include "itkImageRegionIterator.h" +#include "itkObjectFactory.h" +#include "itkProgressReporter.h" + +namespace rtk +{ + +/** + * Constructor + */ +template +DownsampleImageFilter +::DownsampleImageFilter() +{ + this->SetNumberOfRequiredInputs(1); +} + +/** + * + */ +template +void +DownsampleImageFilter +::SetFactors(unsigned int factors[]) +{ + unsigned int j; + + this->Modified(); + for (j = 0; j < ImageDimension; j++) + { + m_Factors[j] = factors[j]; + if (m_Factors[j] < 1) + { + m_Factors[j] = 1; + } + } +} + +/** + * + */ +template +void +DownsampleImageFilter +::SetFactor(unsigned int dimension, unsigned int factor) +{ + unsigned int j; + + this->Modified(); + for (j = 0; j < ImageDimension; j++) + { + if (j == dimension) + { + m_Factors[j] = factor; + } + else + { + m_Factors[j] = 1; + } + } +} + + +//template +//void +//DownsampleImageFilter +//::BeforeThreadedGenerateData() +//{ +// std::cout << "In DownsampleImageFilter : BeforeThreadedGenerateData, input size = " << this->GetInput()->GetLargestPossibleRegion().GetSize() << std::endl; +//} + +/** + * + */ +template +void +DownsampleImageFilter +::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) +{ + itkDebugMacro(<<"Actually executing"); + + //Get the input and output pointers + InputImageConstPointer inputPtr = this->GetInput(); + OutputImagePointer outputPtr = this->GetOutput(); + + //Define/declare an iterator that will walk the output region for this + //thread. + typedef itk::ImageRegionIterator OutputIterator; + typedef itk::ImageRegionConstIterator InputIterator; + + //Define a few indices that will be used to translate from an input pixel + //to an output pixel + typename TInputImage::IndexType inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex(); + typename TOutputImage::IndexType outputStartIndex = outputPtr->GetLargestPossibleRegion().GetIndex(); + + typename TOutputImage::OffsetType firstPixelOfOutputRegionForThreadOffset; + typename TInputImage::OffsetType firstPixelOfInputRegionForThreadOffset; + typename TOutputImage::OffsetType firstPixelOfOutputLineOffset; + typename TInputImage::OffsetType firstPixelOfInputLineOffset; + typename TOutputImage::OffsetType offset; + + //Support progress methods/callbacks + itk::ProgressReporter progress(this, threadId, outputRegionForThread.GetNumberOfPixels()); + + //Unless the downsampling factor is 1, we always skip the first pixel + //Create an offset array to enforce this behavior + for (unsigned int i=0; i < TInputImage::ImageDimension; i++) + { + if (m_Factors[i] == 1) + { + offset[i] = 0; + } + else + { + offset[i] = 1; + } + } + + //Find the first input pixel that is copied to the output (the one with lowest indices + //in all dimensions) + firstPixelOfOutputRegionForThreadOffset = + outputRegionForThread.GetIndex() - outputStartIndex; + for (unsigned int dim=0; dim < TInputImage::ImageDimension; dim++) + { + firstPixelOfInputRegionForThreadOffset[dim] = + firstPixelOfOutputRegionForThreadOffset[dim] * m_Factors[dim] + + offset[dim]; + } + + // Walk the slice obtained by setting the first coordinate to zero. + // Each pixel is the beginning of a line (a 1D vector traversing + // the output region along the first dimension). For each pixel, + // create an iterator and perform the copy from the input + OutputImageRegionType slice = outputRegionForThread; + slice.SetSize(0, 1); + OutputIterator sliceIt(outputPtr, slice); + + while (!sliceIt.IsAtEnd()) + { + //Determine the offset of the current pixel in the slice + firstPixelOfOutputLineOffset = sliceIt.GetIndex() - outputStartIndex; + + //Calculate the offset of the corresponding input pixel + for (unsigned int dim=0; dim < TInputImage::ImageDimension; dim++) + { + firstPixelOfInputLineOffset[dim] = + firstPixelOfOutputLineOffset[dim] * m_Factors[dim] + + offset[dim]; + } + + // Create the iterators + typename TOutputImage::RegionType outputLine = outputRegionForThread; + typename TOutputImage::SizeType outputLineSize; + outputLineSize.Fill(1); + outputLineSize[0] = outputRegionForThread.GetSize(0); + outputLine.SetSize(outputLineSize); + outputLine.SetIndex(sliceIt.GetIndex()); + + typename TInputImage::RegionType inputLine = inputPtr->GetLargestPossibleRegion(); + typename TInputImage::SizeType inputLineSize; + inputLineSize.Fill(1); + + // Short example of how to calculate the inputLineSize : + // If we downsample by a factor 3 the vector [x a x x b x x], + // (starting in "a" because we have already taken into account the + // offset, using firstPixelOfInputLineOffset) we obtain [a b], + // so all we need is a vector of length 4 = (2 - 1) * 3 + 1 + inputLineSize[0] = (outputLineSize[0] - 1) * m_Factors[0] + 1; + inputLine.SetSize(inputLineSize); + inputLine.SetIndex(inputStartIndex + firstPixelOfInputLineOffset); + + OutputIterator outIt(outputPtr, outputLine); + InputIterator inIt(inputPtr, inputLine); + + // Walk the line and copy the pixels + while(!outIt.IsAtEnd()) + { + outIt.Set(inIt.Get()); + for (unsigned int i=0; i +//void +//DownsampleImageFilter +//::AfterThreadedGenerateData() +//{ +// std::cout << "In DownsampleImageFilter : AfterThreadedGenerateData" << std::endl; +//} + +/** + * + */ +template +void +DownsampleImageFilter +::GenerateInputRequestedRegion() +{ + //Call the superclass' implementation of this method + Superclass::GenerateInputRequestedRegion(); + + //Get pointers to the input and output + InputImagePointer inputPtr = const_cast(this->GetInput()); + OutputImagePointer outputPtr = this->GetOutput(); + + if (!inputPtr || !outputPtr) + { + return; + } + inputPtr->SetRequestedRegionToLargestPossibleRegion(); +} + +/** + * + */ +template +void +DownsampleImageFilter +::GenerateOutputInformation() +{ + //Call the superclass' implementation of this method + Superclass::GenerateOutputInformation(); + + //Get pointers to the input and output + InputImageConstPointer inputPtr = this->GetInput(); + OutputImagePointer outputPtr = this->GetOutput(); + + if (!inputPtr || !outputPtr) + { + return; + } + + //We need to compute the output spacing, the output image size, and the + //output image start index + unsigned int i; + const typename TInputImage::SpacingType& inputSpacing = inputPtr->GetSpacing(); + const typename TInputImage::SizeType& inputSize = inputPtr->GetLargestPossibleRegion().GetSize(); + const typename TInputImage::IndexType& inputStartIndex = inputPtr->GetLargestPossibleRegion().GetIndex(); + + typename TOutputImage::SpacingType outputSpacing; + typename TOutputImage::SizeType outputSize; + typename TOutputImage::IndexType outputStartIndex; + + for (i = 0; i < TOutputImage::ImageDimension; i++) + { + outputSpacing[i] = inputSpacing[i] * (float)m_Factors[i]; + outputSize[i] = (unsigned long)floor((float) inputSize[i] / (float)m_Factors[i]); + if (outputSize[i] < 1) + { + outputSize[i] = 1; + } + + outputStartIndex[i] = (long)floor((float) inputStartIndex[i] / (float)m_Factors[i]); + } + + outputPtr->SetSpacing(outputSpacing); + + typename TOutputImage::RegionType outputLargestPossibleRegion; + outputLargestPossibleRegion.SetSize(outputSize); + outputLargestPossibleRegion.SetIndex(outputStartIndex); + + outputPtr->SetRegions(outputLargestPossibleRegion); +} + +} // end namespace rtk + +#endif diff --git a/code/rtkDrawConeImageFilter.h b/include/rtkDrawConeImageFilter.h similarity index 100% rename from code/rtkDrawConeImageFilter.h rename to include/rtkDrawConeImageFilter.h diff --git a/code/rtkDrawConeImageFilter.hxx b/include/rtkDrawConeImageFilter.hxx similarity index 100% rename from code/rtkDrawConeImageFilter.hxx rename to include/rtkDrawConeImageFilter.hxx diff --git a/code/rtkDrawCubeImageFilter.h b/include/rtkDrawCubeImageFilter.h similarity index 100% rename from code/rtkDrawCubeImageFilter.h rename to include/rtkDrawCubeImageFilter.h diff --git a/code/rtkDrawCubeImageFilter.hxx b/include/rtkDrawCubeImageFilter.hxx similarity index 100% rename from code/rtkDrawCubeImageFilter.hxx rename to include/rtkDrawCubeImageFilter.hxx diff --git a/code/rtkDrawCylinderImageFilter.h b/include/rtkDrawCylinderImageFilter.h similarity index 100% rename from code/rtkDrawCylinderImageFilter.h rename to include/rtkDrawCylinderImageFilter.h diff --git a/code/rtkDrawCylinderImageFilter.hxx b/include/rtkDrawCylinderImageFilter.hxx similarity index 100% rename from code/rtkDrawCylinderImageFilter.hxx rename to include/rtkDrawCylinderImageFilter.hxx diff --git a/code/rtkDrawEllipsoidImageFilter.h b/include/rtkDrawEllipsoidImageFilter.h similarity index 100% rename from code/rtkDrawEllipsoidImageFilter.h rename to include/rtkDrawEllipsoidImageFilter.h diff --git a/code/rtkDrawEllipsoidImageFilter.hxx b/include/rtkDrawEllipsoidImageFilter.hxx similarity index 100% rename from code/rtkDrawEllipsoidImageFilter.hxx rename to include/rtkDrawEllipsoidImageFilter.hxx diff --git a/code/rtkDrawGeometricPhantomImageFilter.h b/include/rtkDrawGeometricPhantomImageFilter.h similarity index 100% rename from code/rtkDrawGeometricPhantomImageFilter.h rename to include/rtkDrawGeometricPhantomImageFilter.h diff --git a/code/rtkDrawGeometricPhantomImageFilter.hxx b/include/rtkDrawGeometricPhantomImageFilter.hxx similarity index 100% rename from code/rtkDrawGeometricPhantomImageFilter.hxx rename to include/rtkDrawGeometricPhantomImageFilter.hxx diff --git a/code/rtkDrawImageFilter.h b/include/rtkDrawImageFilter.h similarity index 100% rename from code/rtkDrawImageFilter.h rename to include/rtkDrawImageFilter.h diff --git a/code/rtkDrawImageFilter.hxx b/include/rtkDrawImageFilter.hxx similarity index 100% rename from code/rtkDrawImageFilter.hxx rename to include/rtkDrawImageFilter.hxx diff --git a/code/rtkDrawQuadricImageFilter.h b/include/rtkDrawQuadricImageFilter.h similarity index 100% rename from code/rtkDrawQuadricImageFilter.h rename to include/rtkDrawQuadricImageFilter.h diff --git a/code/rtkDrawQuadricImageFilter.hxx b/include/rtkDrawQuadricImageFilter.hxx similarity index 100% rename from code/rtkDrawQuadricImageFilter.hxx rename to include/rtkDrawQuadricImageFilter.hxx diff --git a/code/rtkDrawQuadricSpatialObject.h b/include/rtkDrawQuadricSpatialObject.h similarity index 100% rename from code/rtkDrawQuadricSpatialObject.h rename to include/rtkDrawQuadricSpatialObject.h diff --git a/code/rtkDrawSheppLoganFilter.h b/include/rtkDrawSheppLoganFilter.h similarity index 100% rename from code/rtkDrawSheppLoganFilter.h rename to include/rtkDrawSheppLoganFilter.h diff --git a/code/rtkDrawSheppLoganFilter.hxx b/include/rtkDrawSheppLoganFilter.hxx similarity index 100% rename from code/rtkDrawSheppLoganFilter.hxx rename to include/rtkDrawSheppLoganFilter.hxx diff --git a/code/rtkDrawSpatialObject.h b/include/rtkDrawSpatialObject.h similarity index 100% rename from code/rtkDrawSpatialObject.h rename to include/rtkDrawSpatialObject.h diff --git a/code/rtkDualEnergyNegativeLogLikelihood.h b/include/rtkDualEnergyNegativeLogLikelihood.h similarity index 100% rename from code/rtkDualEnergyNegativeLogLikelihood.h rename to include/rtkDualEnergyNegativeLogLikelihood.h diff --git a/code/rtkEdfImageIO.h b/include/rtkEdfImageIO.h similarity index 100% rename from code/rtkEdfImageIO.h rename to include/rtkEdfImageIO.h diff --git a/code/rtkEdfImageIOFactory.h b/include/rtkEdfImageIOFactory.h similarity index 100% rename from code/rtkEdfImageIOFactory.h rename to include/rtkEdfImageIOFactory.h diff --git a/code/rtkEdfRawToAttenuationImageFilter.h b/include/rtkEdfRawToAttenuationImageFilter.h similarity index 100% rename from code/rtkEdfRawToAttenuationImageFilter.h rename to include/rtkEdfRawToAttenuationImageFilter.h diff --git a/code/rtkEdfRawToAttenuationImageFilter.hxx b/include/rtkEdfRawToAttenuationImageFilter.hxx similarity index 100% rename from code/rtkEdfRawToAttenuationImageFilter.hxx rename to include/rtkEdfRawToAttenuationImageFilter.hxx diff --git a/code/rtkElektaSynergyGeometryReader.h b/include/rtkElektaSynergyGeometryReader.h similarity index 100% rename from code/rtkElektaSynergyGeometryReader.h rename to include/rtkElektaSynergyGeometryReader.h diff --git a/code/rtkElektaSynergyLookupTableImageFilter.h b/include/rtkElektaSynergyLookupTableImageFilter.h similarity index 100% rename from code/rtkElektaSynergyLookupTableImageFilter.h rename to include/rtkElektaSynergyLookupTableImageFilter.h diff --git a/code/rtkElektaSynergyLookupTableImageFilter.hxx b/include/rtkElektaSynergyLookupTableImageFilter.hxx similarity index 100% rename from code/rtkElektaSynergyLookupTableImageFilter.hxx rename to include/rtkElektaSynergyLookupTableImageFilter.hxx diff --git a/code/rtkElektaSynergyRawLookupTableImageFilter.h b/include/rtkElektaSynergyRawLookupTableImageFilter.h similarity index 100% rename from code/rtkElektaSynergyRawLookupTableImageFilter.h rename to include/rtkElektaSynergyRawLookupTableImageFilter.h diff --git a/code/rtkElektaSynergyRawLookupTableImageFilter.hxx b/include/rtkElektaSynergyRawLookupTableImageFilter.hxx similarity index 100% rename from code/rtkElektaSynergyRawLookupTableImageFilter.hxx rename to include/rtkElektaSynergyRawLookupTableImageFilter.hxx diff --git a/code/rtkElektaXVI5GeometryXMLFile.h b/include/rtkElektaXVI5GeometryXMLFile.h similarity index 100% rename from code/rtkElektaXVI5GeometryXMLFile.h rename to include/rtkElektaXVI5GeometryXMLFile.h diff --git a/code/rtkExtractPhaseImageFilter.h b/include/rtkExtractPhaseImageFilter.h similarity index 100% rename from code/rtkExtractPhaseImageFilter.h rename to include/rtkExtractPhaseImageFilter.h diff --git a/code/rtkExtractPhaseImageFilter.hxx b/include/rtkExtractPhaseImageFilter.hxx similarity index 100% rename from code/rtkExtractPhaseImageFilter.hxx rename to include/rtkExtractPhaseImageFilter.hxx diff --git a/code/rtkFDKBackProjectionImageFilter.h b/include/rtkFDKBackProjectionImageFilter.h similarity index 100% rename from code/rtkFDKBackProjectionImageFilter.h rename to include/rtkFDKBackProjectionImageFilter.h diff --git a/code/rtkFDKBackProjectionImageFilter.hxx b/include/rtkFDKBackProjectionImageFilter.hxx similarity index 100% rename from code/rtkFDKBackProjectionImageFilter.hxx rename to include/rtkFDKBackProjectionImageFilter.hxx diff --git a/code/rtkFDKConeBeamReconstructionFilter.h b/include/rtkFDKConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkFDKConeBeamReconstructionFilter.h rename to include/rtkFDKConeBeamReconstructionFilter.h diff --git a/code/rtkFDKConeBeamReconstructionFilter.hxx b/include/rtkFDKConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkFDKConeBeamReconstructionFilter.hxx rename to include/rtkFDKConeBeamReconstructionFilter.hxx diff --git a/code/rtkFDKWarpBackProjectionImageFilter.h b/include/rtkFDKWarpBackProjectionImageFilter.h similarity index 100% rename from code/rtkFDKWarpBackProjectionImageFilter.h rename to include/rtkFDKWarpBackProjectionImageFilter.h diff --git a/code/rtkFDKWarpBackProjectionImageFilter.hxx b/include/rtkFDKWarpBackProjectionImageFilter.hxx similarity index 100% rename from code/rtkFDKWarpBackProjectionImageFilter.hxx rename to include/rtkFDKWarpBackProjectionImageFilter.hxx diff --git a/code/rtkFDKWeightProjectionFilter.h b/include/rtkFDKWeightProjectionFilter.h similarity index 100% rename from code/rtkFDKWeightProjectionFilter.h rename to include/rtkFDKWeightProjectionFilter.h diff --git a/code/rtkFDKWeightProjectionFilter.hxx b/include/rtkFDKWeightProjectionFilter.hxx similarity index 100% rename from code/rtkFDKWeightProjectionFilter.hxx rename to include/rtkFDKWeightProjectionFilter.hxx diff --git a/code/rtkFFTConvolutionImageFilter.h b/include/rtkFFTConvolutionImageFilter.h similarity index 100% rename from code/rtkFFTConvolutionImageFilter.h rename to include/rtkFFTConvolutionImageFilter.h diff --git a/code/rtkFFTConvolutionImageFilter.hxx b/include/rtkFFTConvolutionImageFilter.hxx similarity index 100% rename from code/rtkFFTConvolutionImageFilter.hxx rename to include/rtkFFTConvolutionImageFilter.hxx diff --git a/code/rtkFFTRampImageFilter.h b/include/rtkFFTRampImageFilter.h similarity index 100% rename from code/rtkFFTRampImageFilter.h rename to include/rtkFFTRampImageFilter.h diff --git a/code/rtkFFTRampImageFilter.hxx b/include/rtkFFTRampImageFilter.hxx similarity index 100% rename from code/rtkFFTRampImageFilter.hxx rename to include/rtkFFTRampImageFilter.hxx diff --git a/code/rtkFieldOfViewImageFilter.h b/include/rtkFieldOfViewImageFilter.h similarity index 100% rename from code/rtkFieldOfViewImageFilter.h rename to include/rtkFieldOfViewImageFilter.h diff --git a/code/rtkFieldOfViewImageFilter.hxx b/include/rtkFieldOfViewImageFilter.hxx similarity index 100% rename from code/rtkFieldOfViewImageFilter.hxx rename to include/rtkFieldOfViewImageFilter.hxx diff --git a/code/rtkForwardDifferenceGradientImageFilter.h b/include/rtkForwardDifferenceGradientImageFilter.h similarity index 100% rename from code/rtkForwardDifferenceGradientImageFilter.h rename to include/rtkForwardDifferenceGradientImageFilter.h diff --git a/code/rtkForwardDifferenceGradientImageFilter.hxx b/include/rtkForwardDifferenceGradientImageFilter.hxx similarity index 100% rename from code/rtkForwardDifferenceGradientImageFilter.hxx rename to include/rtkForwardDifferenceGradientImageFilter.hxx diff --git a/code/rtkForwardProjectionImageFilter.h b/include/rtkForwardProjectionImageFilter.h similarity index 100% rename from code/rtkForwardProjectionImageFilter.h rename to include/rtkForwardProjectionImageFilter.h diff --git a/code/rtkForwardProjectionImageFilter.hxx b/include/rtkForwardProjectionImageFilter.hxx similarity index 100% rename from code/rtkForwardProjectionImageFilter.hxx rename to include/rtkForwardProjectionImageFilter.hxx diff --git a/code/rtkForwardWarpImageFilter.h b/include/rtkForwardWarpImageFilter.h similarity index 100% rename from code/rtkForwardWarpImageFilter.h rename to include/rtkForwardWarpImageFilter.h diff --git a/code/rtkForwardWarpImageFilter.hxx b/include/rtkForwardWarpImageFilter.hxx similarity index 100% rename from code/rtkForwardWarpImageFilter.hxx rename to include/rtkForwardWarpImageFilter.hxx diff --git a/code/rtkFourDConjugateGradientConeBeamReconstructionFilter.h b/include/rtkFourDConjugateGradientConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkFourDConjugateGradientConeBeamReconstructionFilter.h rename to include/rtkFourDConjugateGradientConeBeamReconstructionFilter.h diff --git a/code/rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx b/include/rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx rename to include/rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx diff --git a/code/rtkFourDROOSTERConeBeamReconstructionFilter.h b/include/rtkFourDROOSTERConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkFourDROOSTERConeBeamReconstructionFilter.h rename to include/rtkFourDROOSTERConeBeamReconstructionFilter.h diff --git a/code/rtkFourDROOSTERConeBeamReconstructionFilter.hxx b/include/rtkFourDROOSTERConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkFourDROOSTERConeBeamReconstructionFilter.hxx rename to include/rtkFourDROOSTERConeBeamReconstructionFilter.hxx diff --git a/code/rtkFourDReconstructionConjugateGradientOperator.h b/include/rtkFourDReconstructionConjugateGradientOperator.h similarity index 100% rename from code/rtkFourDReconstructionConjugateGradientOperator.h rename to include/rtkFourDReconstructionConjugateGradientOperator.h diff --git a/code/rtkFourDReconstructionConjugateGradientOperator.hxx b/include/rtkFourDReconstructionConjugateGradientOperator.hxx similarity index 100% rename from code/rtkFourDReconstructionConjugateGradientOperator.hxx rename to include/rtkFourDReconstructionConjugateGradientOperator.hxx diff --git a/code/rtkFourDSARTConeBeamReconstructionFilter.h b/include/rtkFourDSARTConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkFourDSARTConeBeamReconstructionFilter.h rename to include/rtkFourDSARTConeBeamReconstructionFilter.h diff --git a/code/rtkFourDSARTConeBeamReconstructionFilter.hxx b/include/rtkFourDSARTConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkFourDSARTConeBeamReconstructionFilter.hxx rename to include/rtkFourDSARTConeBeamReconstructionFilter.hxx diff --git a/code/rtkFourDToProjectionStackImageFilter.h b/include/rtkFourDToProjectionStackImageFilter.h similarity index 100% rename from code/rtkFourDToProjectionStackImageFilter.h rename to include/rtkFourDToProjectionStackImageFilter.h diff --git a/code/rtkFourDToProjectionStackImageFilter.hxx b/include/rtkFourDToProjectionStackImageFilter.hxx similarity index 100% rename from code/rtkFourDToProjectionStackImageFilter.hxx rename to include/rtkFourDToProjectionStackImageFilter.hxx diff --git a/code/rtkGeneralPurposeFunctions.h b/include/rtkGeneralPurposeFunctions.h similarity index 100% rename from code/rtkGeneralPurposeFunctions.h rename to include/rtkGeneralPurposeFunctions.h diff --git a/code/rtkGeometricPhantomFileReader.h b/include/rtkGeometricPhantomFileReader.h similarity index 100% rename from code/rtkGeometricPhantomFileReader.h rename to include/rtkGeometricPhantomFileReader.h diff --git a/code/rtkGgoArgsInfoManager.h b/include/rtkGgoArgsInfoManager.h similarity index 100% rename from code/rtkGgoArgsInfoManager.h rename to include/rtkGgoArgsInfoManager.h diff --git a/code/rtkGgoFunctions.h b/include/rtkGgoFunctions.h similarity index 100% rename from code/rtkGgoFunctions.h rename to include/rtkGgoFunctions.h diff --git a/code/rtkGlobalTimer.h b/include/rtkGlobalTimer.h similarity index 100% rename from code/rtkGlobalTimer.h rename to include/rtkGlobalTimer.h diff --git a/code/rtkGlobalTimerProbesCollector.h b/include/rtkGlobalTimerProbesCollector.h similarity index 100% rename from code/rtkGlobalTimerProbesCollector.h rename to include/rtkGlobalTimerProbesCollector.h diff --git a/code/rtkHilbertImageFilter.h b/include/rtkHilbertImageFilter.h similarity index 100% rename from code/rtkHilbertImageFilter.h rename to include/rtkHilbertImageFilter.h diff --git a/code/rtkHilbertImageFilter.hxx b/include/rtkHilbertImageFilter.hxx similarity index 100% rename from code/rtkHilbertImageFilter.hxx rename to include/rtkHilbertImageFilter.hxx diff --git a/code/rtkHisImageIO.h b/include/rtkHisImageIO.h similarity index 100% rename from code/rtkHisImageIO.h rename to include/rtkHisImageIO.h diff --git a/code/rtkHisImageIOFactory.h b/include/rtkHisImageIOFactory.h similarity index 100% rename from code/rtkHisImageIOFactory.h rename to include/rtkHisImageIOFactory.h diff --git a/code/rtkHndImageIO.h b/include/rtkHndImageIO.h similarity index 100% rename from code/rtkHndImageIO.h rename to include/rtkHndImageIO.h diff --git a/code/rtkHndImageIOFactory.h b/include/rtkHndImageIOFactory.h similarity index 100% rename from code/rtkHndImageIOFactory.h rename to include/rtkHndImageIOFactory.h diff --git a/code/rtkHomogeneousMatrix.h b/include/rtkHomogeneousMatrix.h similarity index 100% rename from code/rtkHomogeneousMatrix.h rename to include/rtkHomogeneousMatrix.h diff --git a/code/rtkI0EstimationProjectionFilter.h b/include/rtkI0EstimationProjectionFilter.h similarity index 100% rename from code/rtkI0EstimationProjectionFilter.h rename to include/rtkI0EstimationProjectionFilter.h diff --git a/code/rtkI0EstimationProjectionFilter.hxx b/include/rtkI0EstimationProjectionFilter.hxx similarity index 100% rename from code/rtkI0EstimationProjectionFilter.hxx rename to include/rtkI0EstimationProjectionFilter.hxx diff --git a/code/rtkIOFactories.h b/include/rtkIOFactories.h similarity index 100% rename from code/rtkIOFactories.h rename to include/rtkIOFactories.h diff --git a/code/rtkImagXGeometryReader.h b/include/rtkImagXGeometryReader.h similarity index 100% rename from code/rtkImagXGeometryReader.h rename to include/rtkImagXGeometryReader.h diff --git a/code/rtkImagXGeometryReader.hxx b/include/rtkImagXGeometryReader.hxx similarity index 100% rename from code/rtkImagXGeometryReader.hxx rename to include/rtkImagXGeometryReader.hxx diff --git a/code/rtkImagXImageIO.h b/include/rtkImagXImageIO.h similarity index 100% rename from code/rtkImagXImageIO.h rename to include/rtkImagXImageIO.h diff --git a/code/rtkImagXImageIOFactory.h b/include/rtkImagXImageIOFactory.h similarity index 100% rename from code/rtkImagXImageIOFactory.h rename to include/rtkImagXImageIOFactory.h diff --git a/code/rtkImagXXMLFileReader.h b/include/rtkImagXXMLFileReader.h similarity index 100% rename from code/rtkImagXXMLFileReader.h rename to include/rtkImagXXMLFileReader.h diff --git a/code/rtkImageToVectorImageFilter.h b/include/rtkImageToVectorImageFilter.h similarity index 100% rename from code/rtkImageToVectorImageFilter.h rename to include/rtkImageToVectorImageFilter.h diff --git a/code/rtkImageToVectorImageFilter.hxx b/include/rtkImageToVectorImageFilter.hxx similarity index 100% rename from code/rtkImageToVectorImageFilter.hxx rename to include/rtkImageToVectorImageFilter.hxx diff --git a/code/rtkImportImageFilter.h b/include/rtkImportImageFilter.h similarity index 100% rename from code/rtkImportImageFilter.h rename to include/rtkImportImageFilter.h diff --git a/code/rtkImportImageFilter.hxx b/include/rtkImportImageFilter.hxx similarity index 100% rename from code/rtkImportImageFilter.hxx rename to include/rtkImportImageFilter.hxx diff --git a/code/rtkInterpolatorWithKnownWeightsImageFilter.h b/include/rtkInterpolatorWithKnownWeightsImageFilter.h similarity index 100% rename from code/rtkInterpolatorWithKnownWeightsImageFilter.h rename to include/rtkInterpolatorWithKnownWeightsImageFilter.h diff --git a/code/rtkInterpolatorWithKnownWeightsImageFilter.hxx b/include/rtkInterpolatorWithKnownWeightsImageFilter.hxx similarity index 100% rename from code/rtkInterpolatorWithKnownWeightsImageFilter.hxx rename to include/rtkInterpolatorWithKnownWeightsImageFilter.hxx diff --git a/code/rtkIterativeConeBeamReconstructionFilter.h b/include/rtkIterativeConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkIterativeConeBeamReconstructionFilter.h rename to include/rtkIterativeConeBeamReconstructionFilter.h diff --git a/code/rtkIterativeConeBeamReconstructionFilter.hxx b/include/rtkIterativeConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkIterativeConeBeamReconstructionFilter.hxx rename to include/rtkIterativeConeBeamReconstructionFilter.hxx diff --git a/code/rtkIterativeFDKConeBeamReconstructionFilter.h b/include/rtkIterativeFDKConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkIterativeFDKConeBeamReconstructionFilter.h rename to include/rtkIterativeFDKConeBeamReconstructionFilter.h diff --git a/code/rtkIterativeFDKConeBeamReconstructionFilter.hxx b/include/rtkIterativeFDKConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkIterativeFDKConeBeamReconstructionFilter.hxx rename to include/rtkIterativeFDKConeBeamReconstructionFilter.hxx diff --git a/code/rtkJosephBackProjectionImageFilter.h b/include/rtkJosephBackProjectionImageFilter.h similarity index 100% rename from code/rtkJosephBackProjectionImageFilter.h rename to include/rtkJosephBackProjectionImageFilter.h diff --git a/code/rtkJosephBackProjectionImageFilter.hxx b/include/rtkJosephBackProjectionImageFilter.hxx similarity index 100% rename from code/rtkJosephBackProjectionImageFilter.hxx rename to include/rtkJosephBackProjectionImageFilter.hxx diff --git a/code/rtkJosephForwardProjectionImageFilter.h b/include/rtkJosephForwardProjectionImageFilter.h similarity index 100% rename from code/rtkJosephForwardProjectionImageFilter.h rename to include/rtkJosephForwardProjectionImageFilter.h diff --git a/code/rtkJosephForwardProjectionImageFilter.hxx b/include/rtkJosephForwardProjectionImageFilter.hxx similarity index 100% rename from code/rtkJosephForwardProjectionImageFilter.hxx rename to include/rtkJosephForwardProjectionImageFilter.hxx diff --git a/code/rtkLUTbasedVariableI0RawToAttenuationImageFilter.h b/include/rtkLUTbasedVariableI0RawToAttenuationImageFilter.h similarity index 100% rename from code/rtkLUTbasedVariableI0RawToAttenuationImageFilter.h rename to include/rtkLUTbasedVariableI0RawToAttenuationImageFilter.h diff --git a/code/rtkLUTbasedVariableI0RawToAttenuationImageFilter.hxx b/include/rtkLUTbasedVariableI0RawToAttenuationImageFilter.hxx similarity index 100% rename from code/rtkLUTbasedVariableI0RawToAttenuationImageFilter.hxx rename to include/rtkLUTbasedVariableI0RawToAttenuationImageFilter.hxx diff --git a/code/rtkLagCorrectionImageFilter.h b/include/rtkLagCorrectionImageFilter.h similarity index 100% rename from code/rtkLagCorrectionImageFilter.h rename to include/rtkLagCorrectionImageFilter.h diff --git a/code/rtkLagCorrectionImageFilter.hxx b/include/rtkLagCorrectionImageFilter.hxx similarity index 100% rename from code/rtkLagCorrectionImageFilter.hxx rename to include/rtkLagCorrectionImageFilter.hxx diff --git a/code/rtkLaplacianImageFilter.h b/include/rtkLaplacianImageFilter.h similarity index 100% rename from code/rtkLaplacianImageFilter.h rename to include/rtkLaplacianImageFilter.h diff --git a/code/rtkLaplacianImageFilter.hxx b/include/rtkLaplacianImageFilter.hxx similarity index 100% rename from code/rtkLaplacianImageFilter.hxx rename to include/rtkLaplacianImageFilter.hxx diff --git a/code/rtkLastDimensionL0GradientDenoisingImageFilter.h b/include/rtkLastDimensionL0GradientDenoisingImageFilter.h similarity index 100% rename from code/rtkLastDimensionL0GradientDenoisingImageFilter.h rename to include/rtkLastDimensionL0GradientDenoisingImageFilter.h diff --git a/code/rtkLastDimensionL0GradientDenoisingImageFilter.hxx b/include/rtkLastDimensionL0GradientDenoisingImageFilter.hxx similarity index 100% rename from code/rtkLastDimensionL0GradientDenoisingImageFilter.hxx rename to include/rtkLastDimensionL0GradientDenoisingImageFilter.hxx diff --git a/code/rtkLookupTableImageFilter.h b/include/rtkLookupTableImageFilter.h similarity index 100% rename from code/rtkLookupTableImageFilter.h rename to include/rtkLookupTableImageFilter.h diff --git a/code/rtkLookupTableImageFilter.hxx b/include/rtkLookupTableImageFilter.hxx similarity index 100% rename from code/rtkLookupTableImageFilter.hxx rename to include/rtkLookupTableImageFilter.hxx diff --git a/code/rtkMacro.h b/include/rtkMacro.h similarity index 100% rename from code/rtkMacro.h rename to include/rtkMacro.h diff --git a/code/rtkMagnitudeThresholdImageFilter.h b/include/rtkMagnitudeThresholdImageFilter.h similarity index 100% rename from code/rtkMagnitudeThresholdImageFilter.h rename to include/rtkMagnitudeThresholdImageFilter.h diff --git a/code/rtkMagnitudeThresholdImageFilter.hxx b/include/rtkMagnitudeThresholdImageFilter.hxx similarity index 100% rename from code/rtkMagnitudeThresholdImageFilter.hxx rename to include/rtkMagnitudeThresholdImageFilter.hxx diff --git a/code/rtkMaskCollimationImageFilter.h b/include/rtkMaskCollimationImageFilter.h similarity index 100% rename from code/rtkMaskCollimationImageFilter.h rename to include/rtkMaskCollimationImageFilter.h diff --git a/code/rtkMaskCollimationImageFilter.hxx b/include/rtkMaskCollimationImageFilter.hxx similarity index 100% rename from code/rtkMaskCollimationImageFilter.hxx rename to include/rtkMaskCollimationImageFilter.hxx diff --git a/code/rtkMedianImageFilter.h b/include/rtkMedianImageFilter.h similarity index 100% rename from code/rtkMedianImageFilter.h rename to include/rtkMedianImageFilter.h diff --git a/code/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.h b/include/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.h rename to include/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.h diff --git a/code/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.hxx b/include/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.hxx rename to include/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.hxx diff --git a/code/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.h b/include/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.h rename to include/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.h diff --git a/code/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.hxx b/include/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.hxx rename to include/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.hxx diff --git a/code/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.h b/include/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.h similarity index 100% rename from code/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.h rename to include/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.h diff --git a/code/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.hxx b/include/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.hxx similarity index 100% rename from code/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.hxx rename to include/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.hxx diff --git a/code/rtkMultiplyByVectorImageFilter.h b/include/rtkMultiplyByVectorImageFilter.h similarity index 100% rename from code/rtkMultiplyByVectorImageFilter.h rename to include/rtkMultiplyByVectorImageFilter.h diff --git a/code/rtkMultiplyByVectorImageFilter.hxx b/include/rtkMultiplyByVectorImageFilter.hxx similarity index 100% rename from code/rtkMultiplyByVectorImageFilter.hxx rename to include/rtkMultiplyByVectorImageFilter.hxx diff --git a/code/rtkNormalizedJosephBackProjectionImageFilter.h b/include/rtkNormalizedJosephBackProjectionImageFilter.h similarity index 100% rename from code/rtkNormalizedJosephBackProjectionImageFilter.h rename to include/rtkNormalizedJosephBackProjectionImageFilter.h diff --git a/code/rtkNormalizedJosephBackProjectionImageFilter.hxx b/include/rtkNormalizedJosephBackProjectionImageFilter.hxx similarity index 100% rename from code/rtkNormalizedJosephBackProjectionImageFilter.hxx rename to include/rtkNormalizedJosephBackProjectionImageFilter.hxx diff --git a/code/rtkOraGeometryReader.h b/include/rtkOraGeometryReader.h similarity index 100% rename from code/rtkOraGeometryReader.h rename to include/rtkOraGeometryReader.h diff --git a/code/rtkOraImageIO.h b/include/rtkOraImageIO.h similarity index 100% rename from code/rtkOraImageIO.h rename to include/rtkOraImageIO.h diff --git a/code/rtkOraImageIOFactory.h b/include/rtkOraImageIOFactory.h similarity index 100% rename from code/rtkOraImageIOFactory.h rename to include/rtkOraImageIOFactory.h diff --git a/code/rtkOraLookupTableImageFilter.h b/include/rtkOraLookupTableImageFilter.h similarity index 100% rename from code/rtkOraLookupTableImageFilter.h rename to include/rtkOraLookupTableImageFilter.h diff --git a/code/rtkOraLookupTableImageFilter.hxx b/include/rtkOraLookupTableImageFilter.hxx similarity index 100% rename from code/rtkOraLookupTableImageFilter.hxx rename to include/rtkOraLookupTableImageFilter.hxx diff --git a/code/rtkOraXMLFileReader.h b/include/rtkOraXMLFileReader.h similarity index 100% rename from code/rtkOraXMLFileReader.h rename to include/rtkOraXMLFileReader.h diff --git a/code/rtkParkerShortScanImageFilter.h b/include/rtkParkerShortScanImageFilter.h similarity index 100% rename from code/rtkParkerShortScanImageFilter.h rename to include/rtkParkerShortScanImageFilter.h diff --git a/code/rtkParkerShortScanImageFilter.hxx b/include/rtkParkerShortScanImageFilter.hxx similarity index 100% rename from code/rtkParkerShortScanImageFilter.hxx rename to include/rtkParkerShortScanImageFilter.hxx diff --git a/code/rtkPhaseGatingImageFilter.h b/include/rtkPhaseGatingImageFilter.h similarity index 100% rename from code/rtkPhaseGatingImageFilter.h rename to include/rtkPhaseGatingImageFilter.h diff --git a/code/rtkPhaseGatingImageFilter.hxx b/include/rtkPhaseGatingImageFilter.hxx similarity index 100% rename from code/rtkPhaseGatingImageFilter.hxx rename to include/rtkPhaseGatingImageFilter.hxx diff --git a/code/rtkPhaseReader.h b/include/rtkPhaseReader.h similarity index 100% rename from code/rtkPhaseReader.h rename to include/rtkPhaseReader.h diff --git a/code/rtkPhaseReader.hxx b/include/rtkPhaseReader.hxx similarity index 100% rename from code/rtkPhaseReader.hxx rename to include/rtkPhaseReader.hxx diff --git a/code/rtkPhasesToInterpolationWeights.h b/include/rtkPhasesToInterpolationWeights.h similarity index 100% rename from code/rtkPhasesToInterpolationWeights.h rename to include/rtkPhasesToInterpolationWeights.h diff --git a/code/rtkPhasesToInterpolationWeights.hxx b/include/rtkPhasesToInterpolationWeights.hxx similarity index 100% rename from code/rtkPhasesToInterpolationWeights.hxx rename to include/rtkPhasesToInterpolationWeights.hxx diff --git a/code/rtkPolynomialGainCorrectionImageFilter.h b/include/rtkPolynomialGainCorrectionImageFilter.h similarity index 100% rename from code/rtkPolynomialGainCorrectionImageFilter.h rename to include/rtkPolynomialGainCorrectionImageFilter.h diff --git a/code/rtkPolynomialGainCorrectionImageFilter.hxx b/include/rtkPolynomialGainCorrectionImageFilter.hxx similarity index 100% rename from code/rtkPolynomialGainCorrectionImageFilter.hxx rename to include/rtkPolynomialGainCorrectionImageFilter.hxx diff --git a/code/rtkProjectGeometricPhantomImageFilter.h b/include/rtkProjectGeometricPhantomImageFilter.h similarity index 100% rename from code/rtkProjectGeometricPhantomImageFilter.h rename to include/rtkProjectGeometricPhantomImageFilter.h diff --git a/code/rtkProjectGeometricPhantomImageFilter.hxx b/include/rtkProjectGeometricPhantomImageFilter.hxx similarity index 100% rename from code/rtkProjectGeometricPhantomImageFilter.hxx rename to include/rtkProjectGeometricPhantomImageFilter.hxx diff --git a/code/rtkProjectionGeometry.h b/include/rtkProjectionGeometry.h similarity index 100% rename from code/rtkProjectionGeometry.h rename to include/rtkProjectionGeometry.h diff --git a/code/rtkProjectionGeometry.hxx b/include/rtkProjectionGeometry.hxx similarity index 100% rename from code/rtkProjectionGeometry.hxx rename to include/rtkProjectionGeometry.hxx diff --git a/code/rtkProjectionStackToFourDImageFilter.h b/include/rtkProjectionStackToFourDImageFilter.h similarity index 100% rename from code/rtkProjectionStackToFourDImageFilter.h rename to include/rtkProjectionStackToFourDImageFilter.h diff --git a/code/rtkProjectionStackToFourDImageFilter.hxx b/include/rtkProjectionStackToFourDImageFilter.hxx similarity index 100% rename from code/rtkProjectionStackToFourDImageFilter.hxx rename to include/rtkProjectionStackToFourDImageFilter.hxx diff --git a/code/rtkProjectionsDecompositionNegativeLogLikelihood.h b/include/rtkProjectionsDecompositionNegativeLogLikelihood.h similarity index 100% rename from code/rtkProjectionsDecompositionNegativeLogLikelihood.h rename to include/rtkProjectionsDecompositionNegativeLogLikelihood.h diff --git a/code/rtkProjectionsReader.h b/include/rtkProjectionsReader.h similarity index 100% rename from code/rtkProjectionsReader.h rename to include/rtkProjectionsReader.h diff --git a/code/rtkProjectionsReader.hxx b/include/rtkProjectionsReader.hxx similarity index 100% rename from code/rtkProjectionsReader.hxx rename to include/rtkProjectionsReader.hxx diff --git a/code/rtkProjectionsRegionConstIteratorRayBased.h b/include/rtkProjectionsRegionConstIteratorRayBased.h similarity index 100% rename from code/rtkProjectionsRegionConstIteratorRayBased.h rename to include/rtkProjectionsRegionConstIteratorRayBased.h diff --git a/code/rtkProjectionsRegionConstIteratorRayBased.hxx b/include/rtkProjectionsRegionConstIteratorRayBased.hxx similarity index 100% rename from code/rtkProjectionsRegionConstIteratorRayBased.hxx rename to include/rtkProjectionsRegionConstIteratorRayBased.hxx diff --git a/code/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.h b/include/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.h similarity index 100% rename from code/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.h rename to include/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.h diff --git a/code/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.hxx b/include/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.hxx similarity index 100% rename from code/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.hxx rename to include/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.hxx diff --git a/code/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.h b/include/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.h similarity index 100% rename from code/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.h rename to include/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.h diff --git a/code/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.hxx b/include/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.hxx similarity index 100% rename from code/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.hxx rename to include/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.hxx diff --git a/code/rtkRayBoxIntersectionFunction.h b/include/rtkRayBoxIntersectionFunction.h similarity index 100% rename from code/rtkRayBoxIntersectionFunction.h rename to include/rtkRayBoxIntersectionFunction.h diff --git a/code/rtkRayBoxIntersectionFunction.hxx b/include/rtkRayBoxIntersectionFunction.hxx similarity index 100% rename from code/rtkRayBoxIntersectionFunction.hxx rename to include/rtkRayBoxIntersectionFunction.hxx diff --git a/code/rtkRayBoxIntersectionImageFilter.h b/include/rtkRayBoxIntersectionImageFilter.h similarity index 100% rename from code/rtkRayBoxIntersectionImageFilter.h rename to include/rtkRayBoxIntersectionImageFilter.h diff --git a/code/rtkRayBoxIntersectionImageFilter.hxx b/include/rtkRayBoxIntersectionImageFilter.hxx similarity index 100% rename from code/rtkRayBoxIntersectionImageFilter.hxx rename to include/rtkRayBoxIntersectionImageFilter.hxx diff --git a/code/rtkRayCastInterpolateImageFunction.h b/include/rtkRayCastInterpolateImageFunction.h similarity index 100% rename from code/rtkRayCastInterpolateImageFunction.h rename to include/rtkRayCastInterpolateImageFunction.h diff --git a/code/rtkRayCastInterpolateImageFunction.hxx b/include/rtkRayCastInterpolateImageFunction.hxx similarity index 100% rename from code/rtkRayCastInterpolateImageFunction.hxx rename to include/rtkRayCastInterpolateImageFunction.hxx diff --git a/code/rtkRayCastInterpolatorForwardProjectionImageFilter.h b/include/rtkRayCastInterpolatorForwardProjectionImageFilter.h similarity index 100% rename from code/rtkRayCastInterpolatorForwardProjectionImageFilter.h rename to include/rtkRayCastInterpolatorForwardProjectionImageFilter.h diff --git a/code/rtkRayCastInterpolatorForwardProjectionImageFilter.hxx b/include/rtkRayCastInterpolatorForwardProjectionImageFilter.hxx similarity index 100% rename from code/rtkRayCastInterpolatorForwardProjectionImageFilter.hxx rename to include/rtkRayCastInterpolatorForwardProjectionImageFilter.hxx diff --git a/code/rtkRayEllipsoidIntersectionImageFilter.h b/include/rtkRayEllipsoidIntersectionImageFilter.h similarity index 100% rename from code/rtkRayEllipsoidIntersectionImageFilter.h rename to include/rtkRayEllipsoidIntersectionImageFilter.h diff --git a/code/rtkRayEllipsoidIntersectionImageFilter.hxx b/include/rtkRayEllipsoidIntersectionImageFilter.hxx similarity index 100% rename from code/rtkRayEllipsoidIntersectionImageFilter.hxx rename to include/rtkRayEllipsoidIntersectionImageFilter.hxx diff --git a/code/rtkRayQuadricIntersectionFunction.h b/include/rtkRayQuadricIntersectionFunction.h similarity index 100% rename from code/rtkRayQuadricIntersectionFunction.h rename to include/rtkRayQuadricIntersectionFunction.h diff --git a/code/rtkRayQuadricIntersectionFunction.hxx b/include/rtkRayQuadricIntersectionFunction.hxx similarity index 100% rename from code/rtkRayQuadricIntersectionFunction.hxx rename to include/rtkRayQuadricIntersectionFunction.hxx diff --git a/code/rtkRayQuadricIntersectionImageFilter.h b/include/rtkRayQuadricIntersectionImageFilter.h similarity index 100% rename from code/rtkRayQuadricIntersectionImageFilter.h rename to include/rtkRayQuadricIntersectionImageFilter.h diff --git a/code/rtkRayQuadricIntersectionImageFilter.hxx b/include/rtkRayQuadricIntersectionImageFilter.hxx similarity index 100% rename from code/rtkRayQuadricIntersectionImageFilter.hxx rename to include/rtkRayQuadricIntersectionImageFilter.hxx diff --git a/code/rtkReconstructImageFilter.h b/include/rtkReconstructImageFilter.h similarity index 100% rename from code/rtkReconstructImageFilter.h rename to include/rtkReconstructImageFilter.h diff --git a/code/rtkReconstructImageFilter.hxx b/include/rtkReconstructImageFilter.hxx similarity index 100% rename from code/rtkReconstructImageFilter.hxx rename to include/rtkReconstructImageFilter.hxx diff --git a/code/rtkReconstructionConjugateGradientOperator.h b/include/rtkReconstructionConjugateGradientOperator.h similarity index 100% rename from code/rtkReconstructionConjugateGradientOperator.h rename to include/rtkReconstructionConjugateGradientOperator.h diff --git a/code/rtkReconstructionConjugateGradientOperator.hxx b/include/rtkReconstructionConjugateGradientOperator.hxx similarity index 100% rename from code/rtkReconstructionConjugateGradientOperator.hxx rename to include/rtkReconstructionConjugateGradientOperator.hxx diff --git a/code/rtkReg1DExtractShroudSignalImageFilter.h b/include/rtkReg1DExtractShroudSignalImageFilter.h similarity index 100% rename from code/rtkReg1DExtractShroudSignalImageFilter.h rename to include/rtkReg1DExtractShroudSignalImageFilter.h diff --git a/code/rtkReg1DExtractShroudSignalImageFilter.hxx b/include/rtkReg1DExtractShroudSignalImageFilter.hxx similarity index 100% rename from code/rtkReg1DExtractShroudSignalImageFilter.hxx rename to include/rtkReg1DExtractShroudSignalImageFilter.hxx diff --git a/code/rtkReg23ProjectionGeometry.h b/include/rtkReg23ProjectionGeometry.h similarity index 100% rename from code/rtkReg23ProjectionGeometry.h rename to include/rtkReg23ProjectionGeometry.h diff --git a/code/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.h b/include/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.h rename to include/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.h diff --git a/code/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.hxx b/include/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.hxx rename to include/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.hxx diff --git a/code/rtkReorderProjectionsImageFilter.h b/include/rtkReorderProjectionsImageFilter.h similarity index 100% rename from code/rtkReorderProjectionsImageFilter.h rename to include/rtkReorderProjectionsImageFilter.h diff --git a/code/rtkReorderProjectionsImageFilter.hxx b/include/rtkReorderProjectionsImageFilter.hxx similarity index 100% rename from code/rtkReorderProjectionsImageFilter.hxx rename to include/rtkReorderProjectionsImageFilter.hxx diff --git a/code/rtkSARTConeBeamReconstructionFilter.h b/include/rtkSARTConeBeamReconstructionFilter.h similarity index 100% rename from code/rtkSARTConeBeamReconstructionFilter.h rename to include/rtkSARTConeBeamReconstructionFilter.h diff --git a/code/rtkSARTConeBeamReconstructionFilter.hxx b/include/rtkSARTConeBeamReconstructionFilter.hxx similarity index 100% rename from code/rtkSARTConeBeamReconstructionFilter.hxx rename to include/rtkSARTConeBeamReconstructionFilter.hxx diff --git a/code/rtkScatterGlareCorrectionImageFilter.h b/include/rtkScatterGlareCorrectionImageFilter.h similarity index 100% rename from code/rtkScatterGlareCorrectionImageFilter.h rename to include/rtkScatterGlareCorrectionImageFilter.h diff --git a/code/rtkScatterGlareCorrectionImageFilter.hxx b/include/rtkScatterGlareCorrectionImageFilter.hxx similarity index 100% rename from code/rtkScatterGlareCorrectionImageFilter.hxx rename to include/rtkScatterGlareCorrectionImageFilter.hxx diff --git a/code/rtkSchlomka2008NegativeLogLikelihood.h b/include/rtkSchlomka2008NegativeLogLikelihood.h similarity index 100% rename from code/rtkSchlomka2008NegativeLogLikelihood.h rename to include/rtkSchlomka2008NegativeLogLikelihood.h diff --git a/code/rtkSelectOneProjectionPerCycleImageFilter.h b/include/rtkSelectOneProjectionPerCycleImageFilter.h similarity index 100% rename from code/rtkSelectOneProjectionPerCycleImageFilter.h rename to include/rtkSelectOneProjectionPerCycleImageFilter.h diff --git a/code/rtkSelectOneProjectionPerCycleImageFilter.hxx b/include/rtkSelectOneProjectionPerCycleImageFilter.hxx similarity index 100% rename from code/rtkSelectOneProjectionPerCycleImageFilter.hxx rename to include/rtkSelectOneProjectionPerCycleImageFilter.hxx diff --git a/code/rtkSheppLoganPhantomFilter.h b/include/rtkSheppLoganPhantomFilter.h similarity index 100% rename from code/rtkSheppLoganPhantomFilter.h rename to include/rtkSheppLoganPhantomFilter.h diff --git a/code/rtkSheppLoganPhantomFilter.hxx b/include/rtkSheppLoganPhantomFilter.hxx similarity index 100% rename from code/rtkSheppLoganPhantomFilter.hxx rename to include/rtkSheppLoganPhantomFilter.hxx diff --git a/code/rtkSignalToInterpolationWeights.h b/include/rtkSignalToInterpolationWeights.h similarity index 100% rename from code/rtkSignalToInterpolationWeights.h rename to include/rtkSignalToInterpolationWeights.h diff --git a/code/rtkSignalToInterpolationWeights.hxx b/include/rtkSignalToInterpolationWeights.hxx similarity index 100% rename from code/rtkSignalToInterpolationWeights.hxx rename to include/rtkSignalToInterpolationWeights.hxx diff --git a/code/rtkSimplexSpectralProjectionsDecompositionImageFilter.h b/include/rtkSimplexSpectralProjectionsDecompositionImageFilter.h similarity index 100% rename from code/rtkSimplexSpectralProjectionsDecompositionImageFilter.h rename to include/rtkSimplexSpectralProjectionsDecompositionImageFilter.h diff --git a/code/rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx b/include/rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx similarity index 100% rename from code/rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx rename to include/rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx diff --git a/code/rtkSingularValueThresholdImageFilter.h b/include/rtkSingularValueThresholdImageFilter.h similarity index 100% rename from code/rtkSingularValueThresholdImageFilter.h rename to include/rtkSingularValueThresholdImageFilter.h diff --git a/code/rtkSingularValueThresholdImageFilter.hxx b/include/rtkSingularValueThresholdImageFilter.hxx similarity index 100% rename from code/rtkSingularValueThresholdImageFilter.hxx rename to include/rtkSingularValueThresholdImageFilter.hxx diff --git a/code/rtkSoftThresholdImageFilter.h b/include/rtkSoftThresholdImageFilter.h similarity index 100% rename from code/rtkSoftThresholdImageFilter.h rename to include/rtkSoftThresholdImageFilter.h diff --git a/code/rtkSoftThresholdImageFilter.hxx b/include/rtkSoftThresholdImageFilter.hxx similarity index 100% rename from code/rtkSoftThresholdImageFilter.hxx rename to include/rtkSoftThresholdImageFilter.hxx diff --git a/code/rtkSoftThresholdTVImageFilter.h b/include/rtkSoftThresholdTVImageFilter.h similarity index 100% rename from code/rtkSoftThresholdTVImageFilter.h rename to include/rtkSoftThresholdTVImageFilter.h diff --git a/code/rtkSoftThresholdTVImageFilter.hxx b/include/rtkSoftThresholdTVImageFilter.hxx similarity index 100% rename from code/rtkSoftThresholdTVImageFilter.hxx rename to include/rtkSoftThresholdTVImageFilter.hxx diff --git a/code/rtkSpectralForwardModelImageFilter.h b/include/rtkSpectralForwardModelImageFilter.h similarity index 100% rename from code/rtkSpectralForwardModelImageFilter.h rename to include/rtkSpectralForwardModelImageFilter.h diff --git a/code/rtkSpectralForwardModelImageFilter.hxx b/include/rtkSpectralForwardModelImageFilter.hxx similarity index 100% rename from code/rtkSpectralForwardModelImageFilter.hxx rename to include/rtkSpectralForwardModelImageFilter.hxx diff --git a/code/rtkSplatWithKnownWeightsImageFilter.h b/include/rtkSplatWithKnownWeightsImageFilter.h similarity index 100% rename from code/rtkSplatWithKnownWeightsImageFilter.h rename to include/rtkSplatWithKnownWeightsImageFilter.h diff --git a/code/rtkSplatWithKnownWeightsImageFilter.hxx b/include/rtkSplatWithKnownWeightsImageFilter.hxx similarity index 100% rename from code/rtkSplatWithKnownWeightsImageFilter.hxx rename to include/rtkSplatWithKnownWeightsImageFilter.hxx diff --git a/code/rtkSubSelectFromListImageFilter.h b/include/rtkSubSelectFromListImageFilter.h similarity index 100% rename from code/rtkSubSelectFromListImageFilter.h rename to include/rtkSubSelectFromListImageFilter.h diff --git a/code/rtkSubSelectFromListImageFilter.hxx b/include/rtkSubSelectFromListImageFilter.hxx similarity index 100% rename from code/rtkSubSelectFromListImageFilter.hxx rename to include/rtkSubSelectFromListImageFilter.hxx diff --git a/code/rtkSubSelectImageFilter.h b/include/rtkSubSelectImageFilter.h similarity index 100% rename from code/rtkSubSelectImageFilter.h rename to include/rtkSubSelectImageFilter.h diff --git a/code/rtkSubSelectImageFilter.hxx b/include/rtkSubSelectImageFilter.hxx similarity index 100% rename from code/rtkSubSelectImageFilter.hxx rename to include/rtkSubSelectImageFilter.hxx diff --git a/code/rtkThreeDCircularProjectionGeometry.h b/include/rtkThreeDCircularProjectionGeometry.h similarity index 100% rename from code/rtkThreeDCircularProjectionGeometry.h rename to include/rtkThreeDCircularProjectionGeometry.h diff --git a/code/rtkThreeDCircularProjectionGeometryXMLFile.h b/include/rtkThreeDCircularProjectionGeometryXMLFile.h similarity index 100% rename from code/rtkThreeDCircularProjectionGeometryXMLFile.h rename to include/rtkThreeDCircularProjectionGeometryXMLFile.h diff --git a/code/rtkTimeProbesCollectorBase.h b/include/rtkTimeProbesCollectorBase.h similarity index 100% rename from code/rtkTimeProbesCollectorBase.h rename to include/rtkTimeProbesCollectorBase.h diff --git a/code/rtkTotalNuclearVariationDenoisingBPDQImageFilter.h b/include/rtkTotalNuclearVariationDenoisingBPDQImageFilter.h similarity index 100% rename from code/rtkTotalNuclearVariationDenoisingBPDQImageFilter.h rename to include/rtkTotalNuclearVariationDenoisingBPDQImageFilter.h diff --git a/code/rtkTotalNuclearVariationDenoisingBPDQImageFilter.hxx b/include/rtkTotalNuclearVariationDenoisingBPDQImageFilter.hxx similarity index 100% rename from code/rtkTotalNuclearVariationDenoisingBPDQImageFilter.hxx rename to include/rtkTotalNuclearVariationDenoisingBPDQImageFilter.hxx diff --git a/code/rtkTotalVariationDenoiseSequenceImageFilter.h b/include/rtkTotalVariationDenoiseSequenceImageFilter.h similarity index 100% rename from code/rtkTotalVariationDenoiseSequenceImageFilter.h rename to include/rtkTotalVariationDenoiseSequenceImageFilter.h diff --git a/code/rtkTotalVariationDenoiseSequenceImageFilter.hxx b/include/rtkTotalVariationDenoiseSequenceImageFilter.hxx similarity index 100% rename from code/rtkTotalVariationDenoiseSequenceImageFilter.hxx rename to include/rtkTotalVariationDenoiseSequenceImageFilter.hxx diff --git a/code/rtkTotalVariationDenoisingBPDQImageFilter.h b/include/rtkTotalVariationDenoisingBPDQImageFilter.h similarity index 100% rename from code/rtkTotalVariationDenoisingBPDQImageFilter.h rename to include/rtkTotalVariationDenoisingBPDQImageFilter.h diff --git a/code/rtkTotalVariationDenoisingBPDQImageFilter.hxx b/include/rtkTotalVariationDenoisingBPDQImageFilter.hxx similarity index 100% rename from code/rtkTotalVariationDenoisingBPDQImageFilter.hxx rename to include/rtkTotalVariationDenoisingBPDQImageFilter.hxx diff --git a/code/rtkTotalVariationImageFilter.h b/include/rtkTotalVariationImageFilter.h similarity index 100% rename from code/rtkTotalVariationImageFilter.h rename to include/rtkTotalVariationImageFilter.h diff --git a/code/rtkTotalVariationImageFilter.hxx b/include/rtkTotalVariationImageFilter.hxx similarity index 100% rename from code/rtkTotalVariationImageFilter.hxx rename to include/rtkTotalVariationImageFilter.hxx diff --git a/code/rtkUnwarpSequenceConjugateGradientOperator.h b/include/rtkUnwarpSequenceConjugateGradientOperator.h similarity index 100% rename from code/rtkUnwarpSequenceConjugateGradientOperator.h rename to include/rtkUnwarpSequenceConjugateGradientOperator.h diff --git a/code/rtkUnwarpSequenceConjugateGradientOperator.hxx b/include/rtkUnwarpSequenceConjugateGradientOperator.hxx similarity index 100% rename from code/rtkUnwarpSequenceConjugateGradientOperator.hxx rename to include/rtkUnwarpSequenceConjugateGradientOperator.hxx diff --git a/code/rtkUnwarpSequenceImageFilter.h b/include/rtkUnwarpSequenceImageFilter.h similarity index 100% rename from code/rtkUnwarpSequenceImageFilter.h rename to include/rtkUnwarpSequenceImageFilter.h diff --git a/code/rtkUnwarpSequenceImageFilter.hxx b/include/rtkUnwarpSequenceImageFilter.hxx similarity index 100% rename from code/rtkUnwarpSequenceImageFilter.hxx rename to include/rtkUnwarpSequenceImageFilter.hxx diff --git a/code/rtkUpsampleImageFilter.h b/include/rtkUpsampleImageFilter.h similarity index 100% rename from code/rtkUpsampleImageFilter.h rename to include/rtkUpsampleImageFilter.h diff --git a/code/rtkUpsampleImageFilter.hxx b/include/rtkUpsampleImageFilter.hxx similarity index 100% rename from code/rtkUpsampleImageFilter.hxx rename to include/rtkUpsampleImageFilter.hxx diff --git a/code/rtkVarianObiGeometryReader.h b/include/rtkVarianObiGeometryReader.h similarity index 100% rename from code/rtkVarianObiGeometryReader.h rename to include/rtkVarianObiGeometryReader.h diff --git a/code/rtkVarianObiRawImageFilter.h b/include/rtkVarianObiRawImageFilter.h similarity index 100% rename from code/rtkVarianObiRawImageFilter.h rename to include/rtkVarianObiRawImageFilter.h diff --git a/code/rtkVarianObiRawImageFilter.hxx b/include/rtkVarianObiRawImageFilter.hxx similarity index 100% rename from code/rtkVarianObiRawImageFilter.hxx rename to include/rtkVarianObiRawImageFilter.hxx diff --git a/code/rtkVarianObiXMLFileReader.h b/include/rtkVarianObiXMLFileReader.h similarity index 100% rename from code/rtkVarianObiXMLFileReader.h rename to include/rtkVarianObiXMLFileReader.h diff --git a/code/rtkVarianProBeamGeometryReader.h b/include/rtkVarianProBeamGeometryReader.h similarity index 100% rename from code/rtkVarianProBeamGeometryReader.h rename to include/rtkVarianProBeamGeometryReader.h diff --git a/code/rtkVarianProBeamXMLFileReader.h b/include/rtkVarianProBeamXMLFileReader.h similarity index 100% rename from code/rtkVarianProBeamXMLFileReader.h rename to include/rtkVarianProBeamXMLFileReader.h diff --git a/code/rtkVectorImageToImageFilter.h b/include/rtkVectorImageToImageFilter.h similarity index 100% rename from code/rtkVectorImageToImageFilter.h rename to include/rtkVectorImageToImageFilter.h diff --git a/code/rtkVectorImageToImageFilter.hxx b/include/rtkVectorImageToImageFilter.hxx similarity index 100% rename from code/rtkVectorImageToImageFilter.hxx rename to include/rtkVectorImageToImageFilter.hxx diff --git a/code/rtkWarpFourDToProjectionStackImageFilter.h b/include/rtkWarpFourDToProjectionStackImageFilter.h similarity index 100% rename from code/rtkWarpFourDToProjectionStackImageFilter.h rename to include/rtkWarpFourDToProjectionStackImageFilter.h diff --git a/code/rtkWarpFourDToProjectionStackImageFilter.hxx b/include/rtkWarpFourDToProjectionStackImageFilter.hxx similarity index 100% rename from code/rtkWarpFourDToProjectionStackImageFilter.hxx rename to include/rtkWarpFourDToProjectionStackImageFilter.hxx diff --git a/code/rtkWarpProjectionStackToFourDImageFilter.h b/include/rtkWarpProjectionStackToFourDImageFilter.h similarity index 100% rename from code/rtkWarpProjectionStackToFourDImageFilter.h rename to include/rtkWarpProjectionStackToFourDImageFilter.h diff --git a/code/rtkWarpProjectionStackToFourDImageFilter.hxx b/include/rtkWarpProjectionStackToFourDImageFilter.hxx similarity index 100% rename from code/rtkWarpProjectionStackToFourDImageFilter.hxx rename to include/rtkWarpProjectionStackToFourDImageFilter.hxx diff --git a/code/rtkWarpSequenceImageFilter.h b/include/rtkWarpSequenceImageFilter.h similarity index 100% rename from code/rtkWarpSequenceImageFilter.h rename to include/rtkWarpSequenceImageFilter.h diff --git a/code/rtkWarpSequenceImageFilter.hxx b/include/rtkWarpSequenceImageFilter.hxx similarity index 100% rename from code/rtkWarpSequenceImageFilter.hxx rename to include/rtkWarpSequenceImageFilter.hxx diff --git a/code/rtkWatcherForTimer.h b/include/rtkWatcherForTimer.h similarity index 100% rename from code/rtkWatcherForTimer.h rename to include/rtkWatcherForTimer.h diff --git a/code/rtkWaterPrecorrectionImageFilter.h b/include/rtkWaterPrecorrectionImageFilter.h similarity index 100% rename from code/rtkWaterPrecorrectionImageFilter.h rename to include/rtkWaterPrecorrectionImageFilter.h diff --git a/code/rtkWaterPrecorrectionImageFilter.hxx b/include/rtkWaterPrecorrectionImageFilter.hxx similarity index 100% rename from code/rtkWaterPrecorrectionImageFilter.hxx rename to include/rtkWaterPrecorrectionImageFilter.hxx diff --git a/code/rtkWin32Header.h b/include/rtkWin32Header.h similarity index 100% rename from code/rtkWin32Header.h rename to include/rtkWin32Header.h diff --git a/code/rtkXRadGeometryReader.h b/include/rtkXRadGeometryReader.h similarity index 100% rename from code/rtkXRadGeometryReader.h rename to include/rtkXRadGeometryReader.h diff --git a/code/rtkXRadImageIO.h b/include/rtkXRadImageIO.h similarity index 100% rename from code/rtkXRadImageIO.h rename to include/rtkXRadImageIO.h diff --git a/code/rtkXRadImageIOFactory.h b/include/rtkXRadImageIOFactory.h similarity index 100% rename from code/rtkXRadImageIOFactory.h rename to include/rtkXRadImageIOFactory.h diff --git a/code/rtkXRadRawToAttenuationImageFilter.h b/include/rtkXRadRawToAttenuationImageFilter.h similarity index 100% rename from code/rtkXRadRawToAttenuationImageFilter.h rename to include/rtkXRadRawToAttenuationImageFilter.h diff --git a/code/rtkXRadRawToAttenuationImageFilter.hxx b/include/rtkXRadRawToAttenuationImageFilter.hxx similarity index 100% rename from code/rtkXRadRawToAttenuationImageFilter.hxx rename to include/rtkXRadRawToAttenuationImageFilter.hxx diff --git a/code/rtkXimImageIO.h b/include/rtkXimImageIO.h similarity index 100% rename from code/rtkXimImageIO.h rename to include/rtkXimImageIO.h diff --git a/code/rtkXimImageIOFactory.h b/include/rtkXimImageIOFactory.h similarity index 100% rename from code/rtkXimImageIOFactory.h rename to include/rtkXimImageIOFactory.h diff --git a/itk-module-init.cmake b/itk-module-init.cmake new file mode 100644 index 000000000..c5bd021dd --- /dev/null +++ b/itk-module-init.cmake @@ -0,0 +1,23 @@ +# +# Find the packages required by this module +# +list(APPEND CMAKE_MODULE_PATH ${RTK_SOURCE_DIR}/cmake) + +find_package(CUDA_wrap QUIET) +if(CUDA_FOUND) + set(RTK_USE_CUDA_DEFAULT ON) +else() + set(RTK_USE_CUDA_DEFAULT OFF) +endif() +option(RTK_USE_CUDA "Use CUDA for RTK" ${RTK_USE_CUDA_DEFAULT}) + +if(RTK_USE_CUDA) + if(NOT CUDA_FOUND) + find_package(CUDA_wrap REQUIRED) + endif() + set(RTK_CUDA_PROJECTIONS_SLAB_SIZE "16" CACHE STRING "Number of projections processed simultaneously in CUDA forward and back projections") +endif() + +# Propagate cmake options in a header file +configure_file(${RTK_SOURCE_DIR}/rtkConfiguration.h.in + ${RTK_BINARY_DIR}/rtkConfiguration.h) diff --git a/itk-module.cmake b/itk-module.cmake new file mode 100644 index 000000000..e21db6337 --- /dev/null +++ b/itk-module.cmake @@ -0,0 +1,61 @@ +set(DOCUMENTATION "") + +set(RTK_IO_DEPENDS + # ITKIOBioRad + # ITKIOBMP + #ITKIOBruker + # ITKIOCSV + ITKIOGDCM + # ITKIOGE + # ITKIOGIPL + # ITKIOHDF5 + # ITKIOImageBase + # ITKIOJPEG + # ITKIOLSM + ITKIOMeta + # ITKIOMINC + # ITKIOMRC + # ITKIONIFTI + # ITKIONRRD + # ITKIOPNG + ITKIORAW + # ITKIOStimulate + # ITKIOTIFF + # ITKIOVTK + ITKIOXML + ) + +set(RTK_DEPENDS + ITKCommon + ITKConvolution + ITKFFT + ITKImageIntensity + ITKOptimizers + ITKRegistrationCommon + ITKSmoothing + ITKThresholding + ITKTransform + ITKVNL + ${RTK_IO_DEPENDS} + ) + +#========================================================= +# CUDA optional dependencies +#========================================================= +if(${RTK_USE_CUDA}) + list(APPEND RTK_DEPENDS ITKCudaCommon) +endif() + +#========================================================= +# Module RTK +#========================================================= +itk_module(RTK + ENABLE_SHARED + EXCLUDE_FROM_DEFAULT + DEPENDS + ${RTK_DEPENDS} + TEST_DEPENDS + ITKTestKernel + DESCRIPTION + "${DOCUMENTATION}" + ) diff --git a/code/rtkConfiguration.h.in b/rtkConfiguration.h.in similarity index 100% rename from code/rtkConfiguration.h.in rename to rtkConfiguration.h.in diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 000000000..23046c4ee --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,125 @@ +set(RTK_SRCS + rtkConditionalMedianImageFilter.cxx + rtkConvertEllipsoidToQuadricParametersFunction.cxx + rtkDbf.cxx + rtkDCMImagXImageIO.cxx + rtkDCMImagXImageIOFactory.cxx + rtkDigisensGeometryReader.cxx + rtkDigisensGeometryXMLFileReader.cxx + rtkDrawQuadricSpatialObject.cxx + rtkEdfImageIO.cxx + rtkEdfImageIOFactory.cxx + rtkElektaSynergyGeometryReader.cxx + rtkElektaXVI5GeometryXMLFile.cxx + rtkGeometricPhantomFileReader.cxx + rtkGlobalTimer.cxx + rtkGlobalTimerProbesCollector.cxx + rtkHisImageIO.cxx + rtkHisImageIOFactory.cxx + rtkHndImageIO.cxx + rtkHndImageIOFactory.cxx + rtkImagXImageIO.cxx + rtkImagXImageIOFactory.cxx + rtkImagXXMLFileReader.cxx + rtkIOFactories.cxx + rtkMedianImageFilter.cxx + rtkOraGeometryReader.cxx + rtkOraImageIO.cxx + rtkOraImageIOFactory.cxx + rtkOraXMLFileReader.cxx + rtkReg23ProjectionGeometry.cxx + rtkThreeDCircularProjectionGeometry.cxx + rtkThreeDCircularProjectionGeometryXMLFile.cxx + rtkTimeProbesCollectorBase.cxx + rtkVarianObiGeometryReader.cxx + rtkVarianObiXMLFileReader.cxx + rtkVarianProBeamGeometryReader.cxx + rtkVarianProBeamXMLFileReader.cxx + rtkWatcherForTimer.cxx + rtkXimImageIO.cxx + rtkXimImageIOFactory.cxx + rtkXRadGeometryReader.cxx + rtkXRadImageIO.cxx + rtkXRadImageIOFactory.cxx + ) + +#========================================================= +# CUDA library +#========================================================= +if (RTK_USE_CUDA) + set(RTK_CUDA_FILES + rtkCudaAverageOutOfROIImageFilter.cu + rtkCudaBackProjectionImageFilter.cu + rtkCudaConjugateGradientImageFilter_3f.cu + rtkCudaConjugateGradientImageFilter_4f.cu + rtkCudaConstantVolumeSeriesSource.cu + rtkCudaConstantVolumeSource.cu + rtkCudaCropImageFilter.cu + rtkCudaCyclicDeformationImageFilter.cu + rtkCudaDisplacedDetectorImageFilter.cu + rtkCudaFDKBackProjectionImageFilter.cu + rtkCudaFDKWeightProjectionFilter.cu + rtkCudaFFTConvolutionImageFilter.cu + rtkCudaFirstOrderKernels.cu + rtkCudaForwardProjectionImageFilter.cu + rtkCudaForwardWarpImageFilter.cu + rtkCudaInterpolateImageFilter.cu + rtkCudaLagCorrectionImageFilter.cu + rtkCudaLaplacianImageFilter.cu + rtkCudaLastDimensionTVDenoisingImageFilter.cu + rtkCudaParkerShortScanImageFilter.cu + rtkCudaPolynomialGainCorrectionImageFilter.cu + rtkCudaRayCastBackProjectionImageFilter.cu + rtkCudaSplatImageFilter.cu + rtkCudaTotalVariationDenoisingBPDQImageFilter.cu + rtkCudaUtilities.cu + rtkCudaWarpBackProjectionImageFilter.cu + rtkCudaWarpForwardProjectionImageFilter.cu + rtkCudaWarpImageFilter.cu + ) + + set(CUDA_PROPAGATE_HOST_FLAGS ON) + set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)#WARNING: mandatory for defining runtime type \MT vs \MD + CUDA_COMPILE(RTK_CUDA_WRAPPERS ${RTK_CUDA_FILES}) + + set(RTK_SRCS ${RTK_SRCS} + rtkCudaAverageOutOfROIImageFilter.cxx + rtkCudaBackProjectionImageFilter.cxx + rtkCudaConjugateGradientImageFilter_3f.cxx + rtkCudaConjugateGradientImageFilter_4f.cxx + rtkCudaConstantVolumeSeriesSource.cxx + rtkCudaConstantVolumeSource.cxx + rtkCudaCropImageFilter.cxx + rtkCudaCyclicDeformationImageFilter.cxx + rtkCudaDisplacedDetectorImageFilter.cxx + rtkCudaFDKBackProjectionImageFilter.cxx + rtkCudaFDKConeBeamReconstructionFilter.cxx + rtkCudaFDKWeightProjectionFilter.cxx + rtkCudaForwardWarpImageFilter.cxx + rtkCudaInterpolateImageFilter.cxx + rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx + rtkCudaLagCorrectionImageFilter.cxx + rtkCudaLaplacianImageFilter.cxx + rtkCudaLastDimensionTVDenoisingImageFilter.cxx + rtkCudaParkerShortScanImageFilter.cxx + rtkCudaPolynomialGainCorrectionImageFilter.cxx + rtkCudaRayCastBackProjectionImageFilter.cxx + rtkCudaSplatImageFilter.cxx + rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx + rtkCudaWarpBackProjectionImageFilter.cxx + rtkCudaWarpForwardProjectionImageFilter.cxx + rtkCudaWarpImageFilter.cxx + ${RTK_CUDA_WRAPPERS} + ${RTK_CUDA_FILES}) +endif () +#========================================================= + +add_library(RTK ${RTK_SRCS}) +target_link_libraries(RTK LINK_PUBLIC lpsolve55) + +if (RTK_USE_CUDA) + target_link_libraries( RTK LINK_PUBLIC ${CUDA_LIBRARIES} ${CUDA_cufft_LIBRARY} ${CUDA_CUBLAS_LIBRARIES} ) +endif () + +itk_module_link_dependencies() +itk_module_target(RTK) \ No newline at end of file diff --git a/code/rtkConditionalMedianImageFilter.cxx b/src/rtkConditionalMedianImageFilter.cxx similarity index 100% rename from code/rtkConditionalMedianImageFilter.cxx rename to src/rtkConditionalMedianImageFilter.cxx diff --git a/code/rtkConvertEllipsoidToQuadricParametersFunction.cxx b/src/rtkConvertEllipsoidToQuadricParametersFunction.cxx similarity index 100% rename from code/rtkConvertEllipsoidToQuadricParametersFunction.cxx rename to src/rtkConvertEllipsoidToQuadricParametersFunction.cxx diff --git a/code/rtkCudaAverageOutOfROIImageFilter.cu b/src/rtkCudaAverageOutOfROIImageFilter.cu similarity index 100% rename from code/rtkCudaAverageOutOfROIImageFilter.cu rename to src/rtkCudaAverageOutOfROIImageFilter.cu diff --git a/code/rtkCudaAverageOutOfROIImageFilter.cxx b/src/rtkCudaAverageOutOfROIImageFilter.cxx similarity index 100% rename from code/rtkCudaAverageOutOfROIImageFilter.cxx rename to src/rtkCudaAverageOutOfROIImageFilter.cxx diff --git a/code/rtkCudaBackProjectionImageFilter.cu b/src/rtkCudaBackProjectionImageFilter.cu similarity index 100% rename from code/rtkCudaBackProjectionImageFilter.cu rename to src/rtkCudaBackProjectionImageFilter.cu diff --git a/code/rtkCudaBackProjectionImageFilter.cxx b/src/rtkCudaBackProjectionImageFilter.cxx similarity index 100% rename from code/rtkCudaBackProjectionImageFilter.cxx rename to src/rtkCudaBackProjectionImageFilter.cxx diff --git a/code/rtkCudaConjugateGradientImageFilter_3f.cu b/src/rtkCudaConjugateGradientImageFilter_3f.cu similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_3f.cu rename to src/rtkCudaConjugateGradientImageFilter_3f.cu diff --git a/code/rtkCudaConjugateGradientImageFilter_3f.cxx b/src/rtkCudaConjugateGradientImageFilter_3f.cxx similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_3f.cxx rename to src/rtkCudaConjugateGradientImageFilter_3f.cxx diff --git a/code/rtkCudaConjugateGradientImageFilter_4f.cu b/src/rtkCudaConjugateGradientImageFilter_4f.cu similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_4f.cu rename to src/rtkCudaConjugateGradientImageFilter_4f.cu diff --git a/code/rtkCudaConjugateGradientImageFilter_4f.cxx b/src/rtkCudaConjugateGradientImageFilter_4f.cxx similarity index 100% rename from code/rtkCudaConjugateGradientImageFilter_4f.cxx rename to src/rtkCudaConjugateGradientImageFilter_4f.cxx diff --git a/code/rtkCudaConstantVolumeSeriesSource.cu b/src/rtkCudaConstantVolumeSeriesSource.cu similarity index 100% rename from code/rtkCudaConstantVolumeSeriesSource.cu rename to src/rtkCudaConstantVolumeSeriesSource.cu diff --git a/code/rtkCudaConstantVolumeSeriesSource.cxx b/src/rtkCudaConstantVolumeSeriesSource.cxx similarity index 100% rename from code/rtkCudaConstantVolumeSeriesSource.cxx rename to src/rtkCudaConstantVolumeSeriesSource.cxx diff --git a/code/rtkCudaConstantVolumeSource.cu b/src/rtkCudaConstantVolumeSource.cu similarity index 100% rename from code/rtkCudaConstantVolumeSource.cu rename to src/rtkCudaConstantVolumeSource.cu diff --git a/code/rtkCudaConstantVolumeSource.cxx b/src/rtkCudaConstantVolumeSource.cxx similarity index 100% rename from code/rtkCudaConstantVolumeSource.cxx rename to src/rtkCudaConstantVolumeSource.cxx diff --git a/code/rtkCudaCropImageFilter.cu b/src/rtkCudaCropImageFilter.cu similarity index 100% rename from code/rtkCudaCropImageFilter.cu rename to src/rtkCudaCropImageFilter.cu diff --git a/code/rtkCudaCropImageFilter.cxx b/src/rtkCudaCropImageFilter.cxx similarity index 100% rename from code/rtkCudaCropImageFilter.cxx rename to src/rtkCudaCropImageFilter.cxx diff --git a/code/rtkCudaCyclicDeformationImageFilter.cu b/src/rtkCudaCyclicDeformationImageFilter.cu similarity index 100% rename from code/rtkCudaCyclicDeformationImageFilter.cu rename to src/rtkCudaCyclicDeformationImageFilter.cu diff --git a/code/rtkCudaCyclicDeformationImageFilter.cxx b/src/rtkCudaCyclicDeformationImageFilter.cxx similarity index 100% rename from code/rtkCudaCyclicDeformationImageFilter.cxx rename to src/rtkCudaCyclicDeformationImageFilter.cxx diff --git a/code/rtkCudaDisplacedDetectorImageFilter.cu b/src/rtkCudaDisplacedDetectorImageFilter.cu similarity index 100% rename from code/rtkCudaDisplacedDetectorImageFilter.cu rename to src/rtkCudaDisplacedDetectorImageFilter.cu diff --git a/code/rtkCudaDisplacedDetectorImageFilter.cxx b/src/rtkCudaDisplacedDetectorImageFilter.cxx similarity index 100% rename from code/rtkCudaDisplacedDetectorImageFilter.cxx rename to src/rtkCudaDisplacedDetectorImageFilter.cxx diff --git a/code/rtkCudaFDKBackProjectionImageFilter.cu b/src/rtkCudaFDKBackProjectionImageFilter.cu similarity index 100% rename from code/rtkCudaFDKBackProjectionImageFilter.cu rename to src/rtkCudaFDKBackProjectionImageFilter.cu diff --git a/code/rtkCudaFDKBackProjectionImageFilter.cxx b/src/rtkCudaFDKBackProjectionImageFilter.cxx similarity index 100% rename from code/rtkCudaFDKBackProjectionImageFilter.cxx rename to src/rtkCudaFDKBackProjectionImageFilter.cxx diff --git a/code/rtkCudaFDKConeBeamReconstructionFilter.cxx b/src/rtkCudaFDKConeBeamReconstructionFilter.cxx similarity index 100% rename from code/rtkCudaFDKConeBeamReconstructionFilter.cxx rename to src/rtkCudaFDKConeBeamReconstructionFilter.cxx diff --git a/code/rtkCudaFDKWeightProjectionFilter.cu b/src/rtkCudaFDKWeightProjectionFilter.cu similarity index 100% rename from code/rtkCudaFDKWeightProjectionFilter.cu rename to src/rtkCudaFDKWeightProjectionFilter.cu diff --git a/code/rtkCudaFDKWeightProjectionFilter.cxx b/src/rtkCudaFDKWeightProjectionFilter.cxx similarity index 100% rename from code/rtkCudaFDKWeightProjectionFilter.cxx rename to src/rtkCudaFDKWeightProjectionFilter.cxx diff --git a/code/rtkCudaFFTConvolutionImageFilter.cu b/src/rtkCudaFFTConvolutionImageFilter.cu similarity index 100% rename from code/rtkCudaFFTConvolutionImageFilter.cu rename to src/rtkCudaFFTConvolutionImageFilter.cu diff --git a/code/rtkCudaFirstOrderKernels.cu b/src/rtkCudaFirstOrderKernels.cu similarity index 100% rename from code/rtkCudaFirstOrderKernels.cu rename to src/rtkCudaFirstOrderKernels.cu diff --git a/code/rtkCudaForwardProjectionImageFilter.cu b/src/rtkCudaForwardProjectionImageFilter.cu similarity index 100% rename from code/rtkCudaForwardProjectionImageFilter.cu rename to src/rtkCudaForwardProjectionImageFilter.cu diff --git a/code/rtkCudaForwardWarpImageFilter.cu b/src/rtkCudaForwardWarpImageFilter.cu similarity index 100% rename from code/rtkCudaForwardWarpImageFilter.cu rename to src/rtkCudaForwardWarpImageFilter.cu diff --git a/code/rtkCudaForwardWarpImageFilter.cxx b/src/rtkCudaForwardWarpImageFilter.cxx similarity index 100% rename from code/rtkCudaForwardWarpImageFilter.cxx rename to src/rtkCudaForwardWarpImageFilter.cxx diff --git a/code/rtkCudaInterpolateImageFilter.cu b/src/rtkCudaInterpolateImageFilter.cu similarity index 100% rename from code/rtkCudaInterpolateImageFilter.cu rename to src/rtkCudaInterpolateImageFilter.cu diff --git a/code/rtkCudaInterpolateImageFilter.cxx b/src/rtkCudaInterpolateImageFilter.cxx similarity index 100% rename from code/rtkCudaInterpolateImageFilter.cxx rename to src/rtkCudaInterpolateImageFilter.cxx diff --git a/code/rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx b/src/rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx similarity index 100% rename from code/rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx rename to src/rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx diff --git a/code/rtkCudaLagCorrectionImageFilter.cu b/src/rtkCudaLagCorrectionImageFilter.cu similarity index 100% rename from code/rtkCudaLagCorrectionImageFilter.cu rename to src/rtkCudaLagCorrectionImageFilter.cu diff --git a/code/rtkCudaLagCorrectionImageFilter.cxx b/src/rtkCudaLagCorrectionImageFilter.cxx similarity index 100% rename from code/rtkCudaLagCorrectionImageFilter.cxx rename to src/rtkCudaLagCorrectionImageFilter.cxx diff --git a/code/rtkCudaLaplacianImageFilter.cu b/src/rtkCudaLaplacianImageFilter.cu similarity index 100% rename from code/rtkCudaLaplacianImageFilter.cu rename to src/rtkCudaLaplacianImageFilter.cu diff --git a/code/rtkCudaLaplacianImageFilter.cxx b/src/rtkCudaLaplacianImageFilter.cxx similarity index 100% rename from code/rtkCudaLaplacianImageFilter.cxx rename to src/rtkCudaLaplacianImageFilter.cxx diff --git a/code/rtkCudaLastDimensionTVDenoisingImageFilter.cu b/src/rtkCudaLastDimensionTVDenoisingImageFilter.cu similarity index 100% rename from code/rtkCudaLastDimensionTVDenoisingImageFilter.cu rename to src/rtkCudaLastDimensionTVDenoisingImageFilter.cu diff --git a/code/rtkCudaLastDimensionTVDenoisingImageFilter.cxx b/src/rtkCudaLastDimensionTVDenoisingImageFilter.cxx similarity index 100% rename from code/rtkCudaLastDimensionTVDenoisingImageFilter.cxx rename to src/rtkCudaLastDimensionTVDenoisingImageFilter.cxx diff --git a/code/rtkCudaParkerShortScanImageFilter.cu b/src/rtkCudaParkerShortScanImageFilter.cu similarity index 100% rename from code/rtkCudaParkerShortScanImageFilter.cu rename to src/rtkCudaParkerShortScanImageFilter.cu diff --git a/code/rtkCudaParkerShortScanImageFilter.cxx b/src/rtkCudaParkerShortScanImageFilter.cxx similarity index 100% rename from code/rtkCudaParkerShortScanImageFilter.cxx rename to src/rtkCudaParkerShortScanImageFilter.cxx diff --git a/code/rtkCudaPolynomialGainCorrectionImageFilter.cu b/src/rtkCudaPolynomialGainCorrectionImageFilter.cu similarity index 100% rename from code/rtkCudaPolynomialGainCorrectionImageFilter.cu rename to src/rtkCudaPolynomialGainCorrectionImageFilter.cu diff --git a/code/rtkCudaPolynomialGainCorrectionImageFilter.cxx b/src/rtkCudaPolynomialGainCorrectionImageFilter.cxx similarity index 100% rename from code/rtkCudaPolynomialGainCorrectionImageFilter.cxx rename to src/rtkCudaPolynomialGainCorrectionImageFilter.cxx diff --git a/code/rtkCudaRayCastBackProjectionImageFilter.cu b/src/rtkCudaRayCastBackProjectionImageFilter.cu similarity index 100% rename from code/rtkCudaRayCastBackProjectionImageFilter.cu rename to src/rtkCudaRayCastBackProjectionImageFilter.cu diff --git a/code/rtkCudaRayCastBackProjectionImageFilter.cxx b/src/rtkCudaRayCastBackProjectionImageFilter.cxx similarity index 100% rename from code/rtkCudaRayCastBackProjectionImageFilter.cxx rename to src/rtkCudaRayCastBackProjectionImageFilter.cxx diff --git a/code/rtkCudaSplatImageFilter.cu b/src/rtkCudaSplatImageFilter.cu similarity index 100% rename from code/rtkCudaSplatImageFilter.cu rename to src/rtkCudaSplatImageFilter.cu diff --git a/code/rtkCudaSplatImageFilter.cxx b/src/rtkCudaSplatImageFilter.cxx similarity index 100% rename from code/rtkCudaSplatImageFilter.cxx rename to src/rtkCudaSplatImageFilter.cxx diff --git a/code/rtkCudaTotalVariationDenoisingBPDQImageFilter.cu b/src/rtkCudaTotalVariationDenoisingBPDQImageFilter.cu similarity index 100% rename from code/rtkCudaTotalVariationDenoisingBPDQImageFilter.cu rename to src/rtkCudaTotalVariationDenoisingBPDQImageFilter.cu diff --git a/code/rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx b/src/rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx similarity index 100% rename from code/rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx rename to src/rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx diff --git a/code/rtkCudaUtilities.cu b/src/rtkCudaUtilities.cu similarity index 100% rename from code/rtkCudaUtilities.cu rename to src/rtkCudaUtilities.cu diff --git a/code/rtkCudaWarpBackProjectionImageFilter.cu b/src/rtkCudaWarpBackProjectionImageFilter.cu similarity index 100% rename from code/rtkCudaWarpBackProjectionImageFilter.cu rename to src/rtkCudaWarpBackProjectionImageFilter.cu diff --git a/code/rtkCudaWarpBackProjectionImageFilter.cxx b/src/rtkCudaWarpBackProjectionImageFilter.cxx similarity index 100% rename from code/rtkCudaWarpBackProjectionImageFilter.cxx rename to src/rtkCudaWarpBackProjectionImageFilter.cxx diff --git a/code/rtkCudaWarpForwardProjectionImageFilter.cu b/src/rtkCudaWarpForwardProjectionImageFilter.cu similarity index 100% rename from code/rtkCudaWarpForwardProjectionImageFilter.cu rename to src/rtkCudaWarpForwardProjectionImageFilter.cu diff --git a/code/rtkCudaWarpForwardProjectionImageFilter.cxx b/src/rtkCudaWarpForwardProjectionImageFilter.cxx similarity index 100% rename from code/rtkCudaWarpForwardProjectionImageFilter.cxx rename to src/rtkCudaWarpForwardProjectionImageFilter.cxx diff --git a/code/rtkCudaWarpImageFilter.cu b/src/rtkCudaWarpImageFilter.cu similarity index 100% rename from code/rtkCudaWarpImageFilter.cu rename to src/rtkCudaWarpImageFilter.cu diff --git a/code/rtkCudaWarpImageFilter.cxx b/src/rtkCudaWarpImageFilter.cxx similarity index 100% rename from code/rtkCudaWarpImageFilter.cxx rename to src/rtkCudaWarpImageFilter.cxx diff --git a/code/rtkDCMImagXImageIO.cxx b/src/rtkDCMImagXImageIO.cxx similarity index 100% rename from code/rtkDCMImagXImageIO.cxx rename to src/rtkDCMImagXImageIO.cxx diff --git a/code/rtkDCMImagXImageIOFactory.cxx b/src/rtkDCMImagXImageIOFactory.cxx similarity index 100% rename from code/rtkDCMImagXImageIOFactory.cxx rename to src/rtkDCMImagXImageIOFactory.cxx diff --git a/code/rtkDbf.cxx b/src/rtkDbf.cxx similarity index 100% rename from code/rtkDbf.cxx rename to src/rtkDbf.cxx diff --git a/code/rtkDigisensGeometryReader.cxx b/src/rtkDigisensGeometryReader.cxx similarity index 100% rename from code/rtkDigisensGeometryReader.cxx rename to src/rtkDigisensGeometryReader.cxx diff --git a/code/rtkDigisensGeometryXMLFileReader.cxx b/src/rtkDigisensGeometryXMLFileReader.cxx similarity index 100% rename from code/rtkDigisensGeometryXMLFileReader.cxx rename to src/rtkDigisensGeometryXMLFileReader.cxx diff --git a/code/rtkDrawQuadricSpatialObject.cxx b/src/rtkDrawQuadricSpatialObject.cxx similarity index 100% rename from code/rtkDrawQuadricSpatialObject.cxx rename to src/rtkDrawQuadricSpatialObject.cxx diff --git a/code/rtkEdfImageIO.cxx b/src/rtkEdfImageIO.cxx similarity index 100% rename from code/rtkEdfImageIO.cxx rename to src/rtkEdfImageIO.cxx diff --git a/code/rtkEdfImageIOFactory.cxx b/src/rtkEdfImageIOFactory.cxx similarity index 100% rename from code/rtkEdfImageIOFactory.cxx rename to src/rtkEdfImageIOFactory.cxx diff --git a/code/rtkElektaSynergyGeometryReader.cxx b/src/rtkElektaSynergyGeometryReader.cxx similarity index 100% rename from code/rtkElektaSynergyGeometryReader.cxx rename to src/rtkElektaSynergyGeometryReader.cxx diff --git a/code/rtkElektaXVI5GeometryXMLFile.cxx b/src/rtkElektaXVI5GeometryXMLFile.cxx similarity index 100% rename from code/rtkElektaXVI5GeometryXMLFile.cxx rename to src/rtkElektaXVI5GeometryXMLFile.cxx diff --git a/code/rtkGeometricPhantomFileReader.cxx b/src/rtkGeometricPhantomFileReader.cxx similarity index 100% rename from code/rtkGeometricPhantomFileReader.cxx rename to src/rtkGeometricPhantomFileReader.cxx diff --git a/code/rtkGlobalTimer.cxx b/src/rtkGlobalTimer.cxx similarity index 100% rename from code/rtkGlobalTimer.cxx rename to src/rtkGlobalTimer.cxx diff --git a/code/rtkGlobalTimerProbesCollector.cxx b/src/rtkGlobalTimerProbesCollector.cxx similarity index 100% rename from code/rtkGlobalTimerProbesCollector.cxx rename to src/rtkGlobalTimerProbesCollector.cxx diff --git a/code/rtkHisImageIO.cxx b/src/rtkHisImageIO.cxx similarity index 100% rename from code/rtkHisImageIO.cxx rename to src/rtkHisImageIO.cxx diff --git a/code/rtkHisImageIOFactory.cxx b/src/rtkHisImageIOFactory.cxx similarity index 100% rename from code/rtkHisImageIOFactory.cxx rename to src/rtkHisImageIOFactory.cxx diff --git a/code/rtkHndImageIO.cxx b/src/rtkHndImageIO.cxx similarity index 100% rename from code/rtkHndImageIO.cxx rename to src/rtkHndImageIO.cxx diff --git a/code/rtkHndImageIOFactory.cxx b/src/rtkHndImageIOFactory.cxx similarity index 100% rename from code/rtkHndImageIOFactory.cxx rename to src/rtkHndImageIOFactory.cxx diff --git a/code/rtkIOFactories.cxx b/src/rtkIOFactories.cxx similarity index 100% rename from code/rtkIOFactories.cxx rename to src/rtkIOFactories.cxx diff --git a/code/rtkImagXImageIO.cxx b/src/rtkImagXImageIO.cxx similarity index 100% rename from code/rtkImagXImageIO.cxx rename to src/rtkImagXImageIO.cxx diff --git a/code/rtkImagXImageIOFactory.cxx b/src/rtkImagXImageIOFactory.cxx similarity index 100% rename from code/rtkImagXImageIOFactory.cxx rename to src/rtkImagXImageIOFactory.cxx diff --git a/code/rtkImagXXMLFileReader.cxx b/src/rtkImagXXMLFileReader.cxx similarity index 100% rename from code/rtkImagXXMLFileReader.cxx rename to src/rtkImagXXMLFileReader.cxx diff --git a/code/rtkMedianImageFilter.cxx b/src/rtkMedianImageFilter.cxx similarity index 99% rename from code/rtkMedianImageFilter.cxx rename to src/rtkMedianImageFilter.cxx index b0b8bc446..15ca66549 100644 --- a/code/rtkMedianImageFilter.cxx +++ b/src/rtkMedianImageFilter.cxx @@ -19,6 +19,8 @@ #ifndef __rtkMedianImageFilter_cxx #define __rtkMedianImageFilter_cxx +#include "rtkMedianImageFilter.h" + #include #include diff --git a/code/rtkOraGeometryReader.cxx b/src/rtkOraGeometryReader.cxx similarity index 100% rename from code/rtkOraGeometryReader.cxx rename to src/rtkOraGeometryReader.cxx diff --git a/code/rtkOraImageIO.cxx b/src/rtkOraImageIO.cxx similarity index 100% rename from code/rtkOraImageIO.cxx rename to src/rtkOraImageIO.cxx diff --git a/code/rtkOraImageIOFactory.cxx b/src/rtkOraImageIOFactory.cxx similarity index 100% rename from code/rtkOraImageIOFactory.cxx rename to src/rtkOraImageIOFactory.cxx diff --git a/code/rtkOraXMLFileReader.cxx b/src/rtkOraXMLFileReader.cxx similarity index 100% rename from code/rtkOraXMLFileReader.cxx rename to src/rtkOraXMLFileReader.cxx diff --git a/code/rtkReg23ProjectionGeometry.cxx b/src/rtkReg23ProjectionGeometry.cxx similarity index 100% rename from code/rtkReg23ProjectionGeometry.cxx rename to src/rtkReg23ProjectionGeometry.cxx diff --git a/code/rtkThreeDCircularProjectionGeometry.cxx b/src/rtkThreeDCircularProjectionGeometry.cxx similarity index 100% rename from code/rtkThreeDCircularProjectionGeometry.cxx rename to src/rtkThreeDCircularProjectionGeometry.cxx diff --git a/code/rtkThreeDCircularProjectionGeometryXMLFile.cxx b/src/rtkThreeDCircularProjectionGeometryXMLFile.cxx similarity index 100% rename from code/rtkThreeDCircularProjectionGeometryXMLFile.cxx rename to src/rtkThreeDCircularProjectionGeometryXMLFile.cxx diff --git a/code/rtkTimeProbesCollectorBase.cxx b/src/rtkTimeProbesCollectorBase.cxx similarity index 100% rename from code/rtkTimeProbesCollectorBase.cxx rename to src/rtkTimeProbesCollectorBase.cxx diff --git a/code/rtkVarianObiGeometryReader.cxx b/src/rtkVarianObiGeometryReader.cxx similarity index 100% rename from code/rtkVarianObiGeometryReader.cxx rename to src/rtkVarianObiGeometryReader.cxx diff --git a/code/rtkVarianObiXMLFileReader.cxx b/src/rtkVarianObiXMLFileReader.cxx similarity index 100% rename from code/rtkVarianObiXMLFileReader.cxx rename to src/rtkVarianObiXMLFileReader.cxx diff --git a/code/rtkVarianProBeamGeometryReader.cxx b/src/rtkVarianProBeamGeometryReader.cxx similarity index 100% rename from code/rtkVarianProBeamGeometryReader.cxx rename to src/rtkVarianProBeamGeometryReader.cxx diff --git a/code/rtkVarianProBeamXMLFileReader.cxx b/src/rtkVarianProBeamXMLFileReader.cxx similarity index 100% rename from code/rtkVarianProBeamXMLFileReader.cxx rename to src/rtkVarianProBeamXMLFileReader.cxx diff --git a/code/rtkWatcherForTimer.cxx b/src/rtkWatcherForTimer.cxx similarity index 100% rename from code/rtkWatcherForTimer.cxx rename to src/rtkWatcherForTimer.cxx diff --git a/code/rtkXRadGeometryReader.cxx b/src/rtkXRadGeometryReader.cxx similarity index 100% rename from code/rtkXRadGeometryReader.cxx rename to src/rtkXRadGeometryReader.cxx diff --git a/code/rtkXRadImageIO.cxx b/src/rtkXRadImageIO.cxx similarity index 100% rename from code/rtkXRadImageIO.cxx rename to src/rtkXRadImageIO.cxx diff --git a/code/rtkXRadImageIOFactory.cxx b/src/rtkXRadImageIOFactory.cxx similarity index 100% rename from code/rtkXRadImageIOFactory.cxx rename to src/rtkXRadImageIOFactory.cxx diff --git a/code/rtkXimImageIO.cxx b/src/rtkXimImageIO.cxx similarity index 100% rename from code/rtkXimImageIO.cxx rename to src/rtkXimImageIO.cxx diff --git a/code/rtkXimImageIOFactory.cxx b/src/rtkXimImageIOFactory.cxx similarity index 100% rename from code/rtkXimImageIOFactory.cxx rename to src/rtkXimImageIOFactory.cxx diff --git a/utilities/ITKCudaCommon/CMakeLists.txt b/utilities/ITKCudaCommon/CMakeLists.txt index 93b1e587c..f38258e01 100644 --- a/utilities/ITKCudaCommon/CMakeLists.txt +++ b/utilities/ITKCudaCommon/CMakeLists.txt @@ -1,16 +1,32 @@ -project(ITKCudaCommon) +cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR) +project(ITKCudaCommon) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/CMake) include(itkCUDA) set(ITKCudaCommon_LIBRARIES ITKCudaCommon) + +list(APPEND ITKCudaCommon_INCLUDE_DIRS + ${ITKCudaCommon__SOURCE_DIR}/include + ${ITKCommon_BINARY_DIR} + ${CUDA_TOOLKIT_INCLUDE} + ${CUDA_INCLUDE_DIRS} + ${ITK_INCLUDE_DIRS}) + +include_directories(${ITKCudaCommon_INCLUDE_DIRS}) + set(ITKCudaCommon_SYSTEM_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS}) -set(ITKCudaCommon_SYSTEM_LIBRARY_DIRS ${CUDA_LIBRARIES}) +set(ITKCudaCommon_SYSTEM_LIBRARY_DIRS ${CUDA_LIBRARIES} ) -include_directories(${ITKCudaCommon_SOURCE_DIR}/include) -add_subdirectory(src) +if(NOT ITK_SOURCE_DIR) + find_package(ITK REQUIRED) + list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR}) + include(ITKModuleExternal) +else() + itk_module_impl() +endif() # Installation if(NOT RTK_INSTALL_NO_DEVELOPMENT) diff --git a/utilities/ITKCudaCommon/include/itkCudaContextManager.h b/utilities/ITKCudaCommon/include/itkCudaContextManager.h index 432a74e6e..e35e12cfb 100644 --- a/utilities/ITKCudaCommon/include/itkCudaContextManager.h +++ b/utilities/ITKCudaCommon/include/itkCudaContextManager.h @@ -20,7 +20,7 @@ #include "itkCudaUtil.h" #include -#include "rtkWin32Header.h" +#include "itkCudaWin32Header.h" // // Singleton class for CudaContextManager diff --git a/utilities/ITKCudaCommon/include/itkCudaDataManager.h b/utilities/ITKCudaCommon/include/itkCudaDataManager.h index b2ecc8fd4..4dd072c93 100644 --- a/utilities/ITKCudaCommon/include/itkCudaDataManager.h +++ b/utilities/ITKCudaCommon/include/itkCudaDataManager.h @@ -25,7 +25,7 @@ #include "itkCudaContextManager.h" #include "itkSimpleFastMutexLock.h" #include "itkMutexLockHolder.h" -#include "rtkWin32Header.h" +#include "itkCudaWin32Header.h" #include diff --git a/utilities/ITKCudaCommon/include/itkCudaKernelManager.h b/utilities/ITKCudaCommon/include/itkCudaKernelManager.h index 42ff00c72..a20ba0cbe 100644 --- a/utilities/ITKCudaCommon/include/itkCudaKernelManager.h +++ b/utilities/ITKCudaCommon/include/itkCudaKernelManager.h @@ -25,7 +25,7 @@ #include "itkCudaImage.h" #include "itkCudaContextManager.h" #include "itkCudaDataManager.h" -#include "rtkWin32Header.h" +#include "itkCudaWin32Header.h" namespace itk { diff --git a/utilities/ITKCudaCommon/include/itkCudaUtil.h b/utilities/ITKCudaCommon/include/itkCudaUtil.h index 69290f334..480b24607 100644 --- a/utilities/ITKCudaCommon/include/itkCudaUtil.h +++ b/utilities/ITKCudaCommon/include/itkCudaUtil.h @@ -33,7 +33,7 @@ #include #include #include -#include "rtkWin32Header.h" +#include "itkCudaWin32Header.h" namespace itk { diff --git a/utilities/ITKCudaCommon/include/itkCudaWin32Header.h b/utilities/ITKCudaCommon/include/itkCudaWin32Header.h new file mode 100644 index 000000000..71ed1a618 --- /dev/null +++ b/utilities/ITKCudaCommon/include/itkCudaWin32Header.h @@ -0,0 +1,34 @@ +/*========================================================================= + * + * Copyright RTK Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ +#ifndef itkCudaWin32Header_h +#define itkCudaWin32Header_h + +#include "itkConfigure.h" + +#if (defined(_WIN32) || defined(WIN32)) && defined(ITK_BUILD_SHARED_LIBS) +# ifdef ITKCudaCommon_EXPORTS +# define ITKCudaCommon_EXPORT __declspec(dllexport) +# else +# define ITKCudaCommon_EXPORT __declspec(dllimport) +# endif /* ITK_EXPORT */ +#else +/* unix needs nothing */ +#define ITKCudaCommon_EXPORT +#endif + +#endif diff --git a/utilities/ITKCudaCommon/itk-module.cmake b/utilities/ITKCudaCommon/itk-module.cmake index a9411c200..d91efeb43 100644 --- a/utilities/ITKCudaCommon/itk-module.cmake +++ b/utilities/ITKCudaCommon/itk-module.cmake @@ -1,23 +1,16 @@ -if (ITK_USE_CUDA) +# if (ITK_USE_CUDA) - get_filename_component(MY_CURENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) - file(READ "${MY_CURENT_DIR}/README" DOCUMENTATION) +set(DOCUMENTATION "") - option(Module_ITKCudaCommon "Compile the ITK Cuda external module" FALSE) +itk_module(ITKCudaCommon + EXCLUDE_FROM_DEFAULT + COMPILE_DEPENDS + ITKCommon + TEST_DEPENDS + ITKTestKernel + DESCRIPTION + "${DOCUMENTATION}" + ) - if (${Module_ITKCudaCommon}) - - # define the dependencies of the include module and the tests - itk_module(ITKCudaCommon - DEPENDS - ITKCommon - TEST_DEPENDS - ITKTestKernel - DESCRIPTION - "${DOCUMENTATION}" - ) - - endif() - -endif() +# endif() \ No newline at end of file diff --git a/utilities/ITKCudaCommon/src/CMakeLists.txt b/utilities/ITKCudaCommon/src/CMakeLists.txt index 15c48e529..7c2357cd0 100644 --- a/utilities/ITKCudaCommon/src/CMakeLists.txt +++ b/utilities/ITKCudaCommon/src/CMakeLists.txt @@ -5,25 +5,9 @@ set(ITKCudaCommon_SRC itkCudaUtil.cxx ) -# Avoid issue with command line too long for nvcc -set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "" ) - -# This is necessary to include the win32 header from RTK -# These lines should be removed if ITKCudaCommon is put as -# an ITK module -include_directories(${RTK_SOURCE_DIR}/code) -include_directories(${RTK_BINARY_DIR}) - -include_directories(${CUDA_INCLUDE_DIRS}) -include_directories(${ITKCudaCommon_SOURCE_DIR}/include) -include_directories(${ITK_INCLUDE_DIRS}) add_library(ITKCudaCommon ${ITKCudaCommon_SRC}) -target_link_libraries(ITKCudaCommon ${ITKCommon_LIBRARIES} ${CUDA_CUDA_LIBRARY} ${CUDA_LIBRARIES}) - +target_link_libraries(ITKCudaCommon LINK_PRIVATE ${ITKCommon_LIBRARIES}) -if(NOT RTK_INSTALL_NO_LIBRARIES) - install(TARGETS ITKCudaCommon - RUNTIME DESTINATION ${RTK_INSTALL_RUNTIME_DIR} COMPONENT Runtime - LIBRARY DESTINATION ${RTK_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries - ARCHIVE DESTINATION ${RTK_INSTALL_ARCHIVE_DIR} COMPONENT Development) -endif() \ No newline at end of file +itk_module_link_dependencies() +target_link_libraries(ITKCudaCommon LINK_PUBLIC ${CUDA_CUDA_LIBRARY} ${CUDA_LIBRARIES}) +itk_module_target(ITKCudaCommon) \ No newline at end of file diff --git a/utilities/ITKCudaCommon/test/CMakeLists.txt b/utilities/ITKCudaCommon/test/CMakeLists.txt index f66a09f07..9739870b3 100644 --- a/utilities/ITKCudaCommon/test/CMakeLists.txt +++ b/utilities/ITKCudaCommon/test/CMakeLists.txt @@ -1,4 +1,4 @@ -if (ITK_USE_CUDA) +# if (ITK_USE_CUDA) # With MS compilers on Win64, we need the /bigobj switch, else generated # code results in objects with number of sections exceeding object file @@ -19,4 +19,4 @@ if (ITK_USE_CUDA) itk_add_test(NAME itkCudaImageTest COMMAND ITKCudaCommonTestDriver itkCudaImageTest) itk_add_test(NAME itkCudaReductionTest COMMAND ITKCudaCommonTestDriver itkCudaReductionTest) -endif() +# endif()