From 53eb94255bea61e618e2f2fd64342eaf5c67f241 Mon Sep 17 00:00:00 2001 From: Lucas Gandel Date: Fri, 27 Oct 2017 08:35:18 +0200 Subject: [PATCH] Refactoring code/ to include/ and src/ Separate headers from sources to match the ITK external module template. --- CMakeLists.txt | 248 ++------ code/CMakeLists.txt | 204 ------ ...talVariationConeBeamReconstructionFilter.h | 0 ...lVariationConeBeamReconstructionFilter.hxx | 0 ...MTotalVariationConjugateGradientOperator.h | 0 ...otalVariationConjugateGradientOperator.hxx | 0 ...ADMMWaveletsConeBeamReconstructionFilter.h | 0 ...MMWaveletsConeBeamReconstructionFilter.hxx | 0 ...rtkADMMWaveletsConjugateGradientOperator.h | 0 ...kADMMWaveletsConjugateGradientOperator.hxx | 0 .../rtkAdditiveGaussianNoiseImageFilter.h | 0 .../rtkAdditiveGaussianNoiseImageFilter.hxx | 0 .../rtkAmsterdamShroudImageFilter.h | 0 .../rtkAmsterdamShroudImageFilter.hxx | 0 .../rtkAverageOutOfROIImageFilter.h | 0 .../rtkAverageOutOfROIImageFilter.hxx | 0 .../rtkBackProjectionImageFilter.h | 0 .../rtkBackProjectionImageFilter.hxx | 0 ...kBackwardDifferenceDivergenceImageFilter.h | 0 ...ackwardDifferenceDivergenceImageFilter.hxx | 0 ...rtkBoellaardScatterCorrectionImageFilter.h | 0 ...kBoellaardScatterCorrectionImageFilter.hxx | 0 .../rtkConditionalMedianImageFilter.h | 0 .../rtkConditionalMedianImageFilter.hxx | 0 ...gateGradientConeBeamReconstructionFilter.h | 0 ...teGradientConeBeamReconstructionFilter.hxx | 0 ...onjugateGradientGetP_kPlusOneImageFilter.h | 0 ...jugateGradientGetP_kPlusOneImageFilter.hxx | 0 ...onjugateGradientGetR_kPlusOneImageFilter.h | 0 ...jugateGradientGetR_kPlusOneImageFilter.hxx | 0 ...onjugateGradientGetX_kPlusOneImageFilter.h | 0 ...jugateGradientGetX_kPlusOneImageFilter.hxx | 0 .../rtkConjugateGradientImageFilter.h | 0 .../rtkConjugateGradientImageFilter.hxx | 0 .../rtkConjugateGradientOperator.h | 0 .../rtkConjugateGradientOperator.hxx | 0 {code => include}/rtkConstantImageSource.h | 0 {code => include}/rtkConstantImageSource.hxx | 0 ...vertEllipsoidToQuadricParametersFunction.h | 0 .../rtkCudaAverageOutOfROIImageFilter.h | 0 .../rtkCudaAverageOutOfROIImageFilter.hcu | 0 .../rtkCudaBackProjectionImageFilter.h | 0 .../rtkCudaBackProjectionImageFilter.hcu | 0 .../rtkCudaConjugateGradientImageFilter_3f.h | 0 ...rtkCudaConjugateGradientImageFilter_3f.hcu | 0 .../rtkCudaConjugateGradientImageFilter_4f.h | 0 ...rtkCudaConjugateGradientImageFilter_4f.hcu | 0 .../rtkCudaConstantVolumeSeriesSource.h | 0 .../rtkCudaConstantVolumeSeriesSource.hcu | 0 .../rtkCudaConstantVolumeSource.h | 0 .../rtkCudaConstantVolumeSource.hcu | 0 {code => include}/rtkCudaCropImageFilter.h | 0 {code => include}/rtkCudaCropImageFilter.hcu | 0 .../rtkCudaCyclicDeformationImageFilter.h | 0 .../rtkCudaCyclicDeformationImageFilter.hcu | 0 .../rtkCudaDisplacedDetectorImageFilter.h | 0 .../rtkCudaDisplacedDetectorImageFilter.hcu | 0 .../rtkCudaFDKBackProjectionImageFilter.h | 0 .../rtkCudaFDKBackProjectionImageFilter.hcu | 0 .../rtkCudaFDKConeBeamReconstructionFilter.h | 0 .../rtkCudaFDKWeightProjectionFilter.h | 0 .../rtkCudaFDKWeightProjectionFilter.hcu | 0 .../rtkCudaFFTConvolutionImageFilter.h | 0 .../rtkCudaFFTConvolutionImageFilter.hcu | 0 .../rtkCudaFFTConvolutionImageFilter.hxx | 0 {code => include}/rtkCudaFFTRampImageFilter.h | 0 .../rtkCudaFirstOrderKernels.hcu | 0 .../rtkCudaForwardProjectionImageFilter.h | 0 .../rtkCudaForwardProjectionImageFilter.hcu | 0 .../rtkCudaForwardProjectionImageFilter.hxx | 0 .../rtkCudaForwardWarpImageFilter.h | 0 .../rtkCudaForwardWarpImageFilter.hcu | 0 .../rtkCudaInterpolateImageFilter.h | 0 .../rtkCudaInterpolateImageFilter.hcu | 0 {code => include}/rtkCudaIntersectBox.hcu | 0 ...IterativeFDKConeBeamReconstructionFilter.h | 0 .../rtkCudaLagCorrectionImageFilter.h | 0 .../rtkCudaLagCorrectionImageFilter.hcu | 0 .../rtkCudaLaplacianImageFilter.h | 0 .../rtkCudaLaplacianImageFilter.hcu | 0 ...kCudaLastDimensionTVDenoisingImageFilter.h | 0 ...udaLastDimensionTVDenoisingImageFilter.hcu | 0 .../rtkCudaParkerShortScanImageFilter.h | 0 .../rtkCudaParkerShortScanImageFilter.hcu | 0 ...kCudaPolynomialGainCorrectionImageFilter.h | 0 ...udaPolynomialGainCorrectionImageFilter.hcu | 0 .../rtkCudaRayCastBackProjectionImageFilter.h | 0 ...tkCudaRayCastBackProjectionImageFilter.hcu | 0 ...rtkCudaScatterGlareCorrectionImageFilter.h | 0 {code => include}/rtkCudaSplatImageFilter.h | 0 {code => include}/rtkCudaSplatImageFilter.hcu | 0 ...daTotalVariationDenoisingBPDQImageFilter.h | 0 ...TotalVariationDenoisingBPDQImageFilter.hcu | 0 {code => include}/rtkCudaUtilities.hcu | 0 .../rtkCudaWarpBackProjectionImageFilter.h | 0 .../rtkCudaWarpBackProjectionImageFilter.hcu | 0 .../rtkCudaWarpForwardProjectionImageFilter.h | 0 ...tkCudaWarpForwardProjectionImageFilter.hcu | 0 {code => include}/rtkCudaWarpImageFilter.h | 0 {code => include}/rtkCudaWarpImageFilter.hcu | 0 .../rtkCyclicDeformationImageFilter.h | 0 .../rtkCyclicDeformationImageFilter.hxx | 0 {code => include}/rtkDCMImagXImageIO.h | 0 {code => include}/rtkDCMImagXImageIOFactory.h | 0 .../rtkDPExtractShroudSignalImageFilter.h | 0 .../rtkDPExtractShroudSignalImageFilter.hxx | 0 ...DaubechiesWaveletsConvolutionImageFilter.h | 0 ...ubechiesWaveletsConvolutionImageFilter.hxx | 0 ...echiesWaveletsDenoiseSequenceImageFilter.h | 0 ...hiesWaveletsDenoiseSequenceImageFilter.hxx | 0 {code => include}/rtkDbf.h | 0 {code => include}/rtkDeconstructImageFilter.h | 0 .../rtkDeconstructImageFilter.hxx | 0 ...tructSoftThresholdReconstructImageFilter.h | 0 ...uctSoftThresholdReconstructImageFilter.hxx | 272 ++++---- .../rtkDenoisingBPDQImageFilter.h | 0 .../rtkDenoisingBPDQImageFilter.hxx | 0 {code => include}/rtkDigisensGeometryReader.h | 0 .../rtkDigisensGeometryXMLFileReader.h | 0 ...dDetectorForOffsetFieldOfViewImageFilter.h | 0 ...etectorForOffsetFieldOfViewImageFilter.hxx | 0 .../rtkDisplacedDetectorImageFilter.h | 0 .../rtkDisplacedDetectorImageFilter.hxx | 0 ...genceOfGradientConjugateGradientOperator.h | 0 ...nceOfGradientConjugateGradientOperator.hxx | 0 {code => include}/rtkDownsampleImageFilter.h | 0 .../rtkDownsampleImageFilter.hxx | 596 +++++++++--------- {code => include}/rtkDrawConeImageFilter.h | 0 {code => include}/rtkDrawConeImageFilter.hxx | 0 {code => include}/rtkDrawCubeImageFilter.h | 0 {code => include}/rtkDrawCubeImageFilter.hxx | 0 .../rtkDrawCylinderImageFilter.h | 0 .../rtkDrawCylinderImageFilter.hxx | 0 .../rtkDrawEllipsoidImageFilter.h | 0 .../rtkDrawEllipsoidImageFilter.hxx | 0 .../rtkDrawGeometricPhantomImageFilter.h | 0 .../rtkDrawGeometricPhantomImageFilter.hxx | 0 {code => include}/rtkDrawImageFilter.h | 0 {code => include}/rtkDrawImageFilter.hxx | 0 {code => include}/rtkDrawQuadricImageFilter.h | 0 .../rtkDrawQuadricImageFilter.hxx | 0 .../rtkDrawQuadricSpatialObject.h | 0 {code => include}/rtkDrawSheppLoganFilter.h | 0 {code => include}/rtkDrawSheppLoganFilter.hxx | 0 {code => include}/rtkDrawSpatialObject.h | 0 .../rtkDualEnergyNegativeLogLikelihood.h | 0 {code => include}/rtkEdfImageIO.h | 0 {code => include}/rtkEdfImageIOFactory.h | 0 .../rtkEdfRawToAttenuationImageFilter.h | 0 .../rtkEdfRawToAttenuationImageFilter.hxx | 0 .../rtkElektaSynergyGeometryReader.h | 0 .../rtkElektaSynergyLookupTableImageFilter.h | 0 ...rtkElektaSynergyLookupTableImageFilter.hxx | 0 ...tkElektaSynergyRawLookupTableImageFilter.h | 0 ...ElektaSynergyRawLookupTableImageFilter.hxx | 0 .../rtkElektaXVI5GeometryXMLFile.h | 0 .../rtkExtractPhaseImageFilter.h | 0 .../rtkExtractPhaseImageFilter.hxx | 0 .../rtkFDKBackProjectionImageFilter.h | 0 .../rtkFDKBackProjectionImageFilter.hxx | 0 .../rtkFDKConeBeamReconstructionFilter.h | 0 .../rtkFDKConeBeamReconstructionFilter.hxx | 0 .../rtkFDKWarpBackProjectionImageFilter.h | 0 .../rtkFDKWarpBackProjectionImageFilter.hxx | 0 .../rtkFDKWeightProjectionFilter.h | 0 .../rtkFDKWeightProjectionFilter.hxx | 0 .../rtkFFTConvolutionImageFilter.h | 0 .../rtkFFTConvolutionImageFilter.hxx | 0 {code => include}/rtkFFTRampImageFilter.h | 0 {code => include}/rtkFFTRampImageFilter.hxx | 0 {code => include}/rtkFieldOfViewImageFilter.h | 0 .../rtkFieldOfViewImageFilter.hxx | 0 .../rtkForwardDifferenceGradientImageFilter.h | 0 ...tkForwardDifferenceGradientImageFilter.hxx | 0 .../rtkForwardProjectionImageFilter.h | 0 .../rtkForwardProjectionImageFilter.hxx | 0 {code => include}/rtkForwardWarpImageFilter.h | 0 .../rtkForwardWarpImageFilter.hxx | 0 ...gateGradientConeBeamReconstructionFilter.h | 0 ...teGradientConeBeamReconstructionFilter.hxx | 0 ...FourDROOSTERConeBeamReconstructionFilter.h | 0 ...urDROOSTERConeBeamReconstructionFilter.hxx | 0 ...DReconstructionConjugateGradientOperator.h | 0 ...econstructionConjugateGradientOperator.hxx | 0 ...rtkFourDSARTConeBeamReconstructionFilter.h | 0 ...kFourDSARTConeBeamReconstructionFilter.hxx | 0 .../rtkFourDToProjectionStackImageFilter.h | 0 .../rtkFourDToProjectionStackImageFilter.hxx | 0 .../rtkGeneralPurposeFunctions.h | 0 .../rtkGeometricPhantomFileReader.h | 0 {code => include}/rtkGgoArgsInfoManager.h | 0 {code => include}/rtkGgoFunctions.h | 0 {code => include}/rtkGlobalTimer.h | 0 .../rtkGlobalTimerProbesCollector.h | 0 {code => include}/rtkHilbertImageFilter.h | 0 {code => include}/rtkHilbertImageFilter.hxx | 0 {code => include}/rtkHisImageIO.h | 0 {code => include}/rtkHisImageIOFactory.h | 0 {code => include}/rtkHndImageIO.h | 0 {code => include}/rtkHndImageIOFactory.h | 0 {code => include}/rtkHomogeneousMatrix.h | 0 .../rtkI0EstimationProjectionFilter.h | 0 .../rtkI0EstimationProjectionFilter.hxx | 0 {code => include}/rtkIOFactories.h | 0 {code => include}/rtkImagXGeometryReader.h | 0 {code => include}/rtkImagXGeometryReader.hxx | 0 {code => include}/rtkImagXImageIO.h | 0 {code => include}/rtkImagXImageIOFactory.h | 0 {code => include}/rtkImagXXMLFileReader.h | 0 .../rtkImageToVectorImageFilter.h | 0 .../rtkImageToVectorImageFilter.hxx | 0 {code => include}/rtkImportImageFilter.h | 0 {code => include}/rtkImportImageFilter.hxx | 0 ...kInterpolatorWithKnownWeightsImageFilter.h | 0 ...nterpolatorWithKnownWeightsImageFilter.hxx | 0 ...rtkIterativeConeBeamReconstructionFilter.h | 0 ...kIterativeConeBeamReconstructionFilter.hxx | 0 ...IterativeFDKConeBeamReconstructionFilter.h | 0 ...erativeFDKConeBeamReconstructionFilter.hxx | 0 .../rtkJosephBackProjectionImageFilter.h | 0 .../rtkJosephBackProjectionImageFilter.hxx | 0 .../rtkJosephForwardProjectionImageFilter.h | 0 .../rtkJosephForwardProjectionImageFilter.hxx | 0 ...sedVariableI0RawToAttenuationImageFilter.h | 0 ...dVariableI0RawToAttenuationImageFilter.hxx | 0 .../rtkLagCorrectionImageFilter.h | 0 .../rtkLagCorrectionImageFilter.hxx | 0 {code => include}/rtkLaplacianImageFilter.h | 0 {code => include}/rtkLaplacianImageFilter.hxx | 0 ...tDimensionL0GradientDenoisingImageFilter.h | 0 ...imensionL0GradientDenoisingImageFilter.hxx | 0 {code => include}/rtkLookupTableImageFilter.h | 0 .../rtkLookupTableImageFilter.hxx | 0 {code => include}/rtkMacro.h | 0 .../rtkMagnitudeThresholdImageFilter.h | 0 .../rtkMagnitudeThresholdImageFilter.hxx | 0 .../rtkMaskCollimationImageFilter.h | 0 .../rtkMaskCollimationImageFilter.hxx | 0 {code => include}/rtkMedianImageFilter.h | 0 ...gateGradientConeBeamReconstructionFilter.h | 0 ...teGradientConeBeamReconstructionFilter.hxx | 0 ...FourDROOSTERConeBeamReconstructionFilter.h | 0 ...urDROOSTERConeBeamReconstructionFilter.hxx | 0 ...DReconstructionConjugateGradientOperator.h | 0 ...econstructionConjugateGradientOperator.hxx | 0 .../rtkMultiplyByVectorImageFilter.h | 0 .../rtkMultiplyByVectorImageFilter.hxx | 0 ...ormalizedJosephBackProjectionImageFilter.h | 0 ...malizedJosephBackProjectionImageFilter.hxx | 0 {code => include}/rtkOraGeometryReader.h | 0 {code => include}/rtkOraImageIO.h | 0 {code => include}/rtkOraImageIOFactory.h | 0 .../rtkOraLookupTableImageFilter.h | 0 .../rtkOraLookupTableImageFilter.hxx | 0 {code => include}/rtkOraXMLFileReader.h | 0 .../rtkParkerShortScanImageFilter.h | 0 .../rtkParkerShortScanImageFilter.hxx | 0 {code => include}/rtkPhaseGatingImageFilter.h | 0 .../rtkPhaseGatingImageFilter.hxx | 0 {code => include}/rtkPhaseReader.h | 0 {code => include}/rtkPhaseReader.hxx | 0 .../rtkPhasesToInterpolationWeights.h | 0 .../rtkPhasesToInterpolationWeights.hxx | 0 .../rtkPolynomialGainCorrectionImageFilter.h | 0 ...rtkPolynomialGainCorrectionImageFilter.hxx | 0 .../rtkProjectGeometricPhantomImageFilter.h | 0 .../rtkProjectGeometricPhantomImageFilter.hxx | 0 {code => include}/rtkProjectionGeometry.h | 0 {code => include}/rtkProjectionGeometry.hxx | 0 .../rtkProjectionStackToFourDImageFilter.h | 0 .../rtkProjectionStackToFourDImageFilter.hxx | 0 ...ctionsDecompositionNegativeLogLikelihood.h | 0 {code => include}/rtkProjectionsReader.h | 0 {code => include}/rtkProjectionsReader.hxx | 0 ...tkProjectionsRegionConstIteratorRayBased.h | 0 ...ProjectionsRegionConstIteratorRayBased.hxx | 0 ...onstIteratorRayBasedWithCylindricalPanel.h | 0 ...stIteratorRayBasedWithCylindricalPanel.hxx | 0 ...RegionConstIteratorRayBasedWithFlatPanel.h | 0 ...gionConstIteratorRayBasedWithFlatPanel.hxx | 0 .../rtkRayBoxIntersectionFunction.h | 0 .../rtkRayBoxIntersectionFunction.hxx | 0 .../rtkRayBoxIntersectionImageFilter.h | 0 .../rtkRayBoxIntersectionImageFilter.hxx | 0 .../rtkRayCastInterpolateImageFunction.h | 0 .../rtkRayCastInterpolateImageFunction.hxx | 0 ...InterpolatorForwardProjectionImageFilter.h | 0 ...terpolatorForwardProjectionImageFilter.hxx | 0 .../rtkRayEllipsoidIntersectionImageFilter.h | 0 ...rtkRayEllipsoidIntersectionImageFilter.hxx | 0 .../rtkRayQuadricIntersectionFunction.h | 0 .../rtkRayQuadricIntersectionFunction.hxx | 0 .../rtkRayQuadricIntersectionImageFilter.h | 0 .../rtkRayQuadricIntersectionImageFilter.hxx | 0 {code => include}/rtkReconstructImageFilter.h | 0 .../rtkReconstructImageFilter.hxx | 0 ...kReconstructionConjugateGradientOperator.h | 0 ...econstructionConjugateGradientOperator.hxx | 0 .../rtkReg1DExtractShroudSignalImageFilter.h | 0 ...rtkReg1DExtractShroudSignalImageFilter.hxx | 0 .../rtkReg23ProjectionGeometry.h | 0 ...gateGradientConeBeamReconstructionFilter.h | 0 ...teGradientConeBeamReconstructionFilter.hxx | 0 .../rtkReorderProjectionsImageFilter.h | 0 .../rtkReorderProjectionsImageFilter.hxx | 0 .../rtkSARTConeBeamReconstructionFilter.h | 0 .../rtkSARTConeBeamReconstructionFilter.hxx | 0 .../rtkScatterGlareCorrectionImageFilter.h | 0 .../rtkScatterGlareCorrectionImageFilter.hxx | 0 .../rtkSchlomka2008NegativeLogLikelihood.h | 0 ...tkSelectOneProjectionPerCycleImageFilter.h | 0 ...SelectOneProjectionPerCycleImageFilter.hxx | 0 .../rtkSheppLoganPhantomFilter.h | 0 .../rtkSheppLoganPhantomFilter.hxx | 0 .../rtkSignalToInterpolationWeights.h | 0 .../rtkSignalToInterpolationWeights.hxx | 0 ...ctralProjectionsDecompositionImageFilter.h | 0 ...ralProjectionsDecompositionImageFilter.hxx | 0 .../rtkSingularValueThresholdImageFilter.h | 0 .../rtkSingularValueThresholdImageFilter.hxx | 0 .../rtkSoftThresholdImageFilter.h | 0 .../rtkSoftThresholdImageFilter.hxx | 0 .../rtkSoftThresholdTVImageFilter.h | 0 .../rtkSoftThresholdTVImageFilter.hxx | 0 .../rtkSpectralForwardModelImageFilter.h | 0 .../rtkSpectralForwardModelImageFilter.hxx | 0 .../rtkSplatWithKnownWeightsImageFilter.h | 0 .../rtkSplatWithKnownWeightsImageFilter.hxx | 0 .../rtkSubSelectFromListImageFilter.h | 0 .../rtkSubSelectFromListImageFilter.hxx | 0 {code => include}/rtkSubSelectImageFilter.h | 0 {code => include}/rtkSubSelectImageFilter.hxx | 0 .../rtkThreeDCircularProjectionGeometry.h | 0 ...kThreeDCircularProjectionGeometryXMLFile.h | 0 .../rtkTimeProbesCollectorBase.h | 0 ...NuclearVariationDenoisingBPDQImageFilter.h | 0 ...clearVariationDenoisingBPDQImageFilter.hxx | 0 ...TotalVariationDenoiseSequenceImageFilter.h | 0 ...talVariationDenoiseSequenceImageFilter.hxx | 0 ...tkTotalVariationDenoisingBPDQImageFilter.h | 0 ...TotalVariationDenoisingBPDQImageFilter.hxx | 0 .../rtkTotalVariationImageFilter.h | 0 .../rtkTotalVariationImageFilter.hxx | 0 ...kUnwarpSequenceConjugateGradientOperator.h | 0 ...nwarpSequenceConjugateGradientOperator.hxx | 0 .../rtkUnwarpSequenceImageFilter.h | 0 .../rtkUnwarpSequenceImageFilter.hxx | 0 {code => include}/rtkUpsampleImageFilter.h | 0 {code => include}/rtkUpsampleImageFilter.hxx | 0 .../rtkVarianObiGeometryReader.h | 0 .../rtkVarianObiRawImageFilter.h | 0 .../rtkVarianObiRawImageFilter.hxx | 0 {code => include}/rtkVarianObiXMLFileReader.h | 0 .../rtkVarianProBeamGeometryReader.h | 0 .../rtkVarianProBeamXMLFileReader.h | 0 .../rtkVectorImageToImageFilter.h | 0 .../rtkVectorImageToImageFilter.hxx | 0 ...rtkWarpFourDToProjectionStackImageFilter.h | 0 ...kWarpFourDToProjectionStackImageFilter.hxx | 0 ...rtkWarpProjectionStackToFourDImageFilter.h | 0 ...kWarpProjectionStackToFourDImageFilter.hxx | 0 .../rtkWarpSequenceImageFilter.h | 0 .../rtkWarpSequenceImageFilter.hxx | 0 {code => include}/rtkWatcherForTimer.h | 0 .../rtkWaterPrecorrectionImageFilter.h | 0 .../rtkWaterPrecorrectionImageFilter.hxx | 0 {code => include}/rtkWin32Header.h | 0 {code => include}/rtkXRadGeometryReader.h | 0 {code => include}/rtkXRadImageIO.h | 0 {code => include}/rtkXRadImageIOFactory.h | 0 .../rtkXRadRawToAttenuationImageFilter.h | 0 .../rtkXRadRawToAttenuationImageFilter.hxx | 0 {code => include}/rtkXimImageIO.h | 0 {code => include}/rtkXimImageIOFactory.h | 0 itk-module-init.cmake | 23 + itk-module.cmake | 61 ++ ...onfiguration.h.in => rtkConfiguration.h.in | 0 src/CMakeLists.txt | 125 ++++ .../rtkConditionalMedianImageFilter.cxx | 0 ...rtEllipsoidToQuadricParametersFunction.cxx | 0 .../rtkCudaAverageOutOfROIImageFilter.cu | 0 .../rtkCudaAverageOutOfROIImageFilter.cxx | 0 .../rtkCudaBackProjectionImageFilter.cu | 0 .../rtkCudaBackProjectionImageFilter.cxx | 0 .../rtkCudaConjugateGradientImageFilter_3f.cu | 0 ...rtkCudaConjugateGradientImageFilter_3f.cxx | 0 .../rtkCudaConjugateGradientImageFilter_4f.cu | 0 ...rtkCudaConjugateGradientImageFilter_4f.cxx | 0 .../rtkCudaConstantVolumeSeriesSource.cu | 0 .../rtkCudaConstantVolumeSeriesSource.cxx | 0 {code => src}/rtkCudaConstantVolumeSource.cu | 0 {code => src}/rtkCudaConstantVolumeSource.cxx | 0 {code => src}/rtkCudaCropImageFilter.cu | 0 {code => src}/rtkCudaCropImageFilter.cxx | 0 .../rtkCudaCyclicDeformationImageFilter.cu | 0 .../rtkCudaCyclicDeformationImageFilter.cxx | 0 .../rtkCudaDisplacedDetectorImageFilter.cu | 0 .../rtkCudaDisplacedDetectorImageFilter.cxx | 0 .../rtkCudaFDKBackProjectionImageFilter.cu | 0 .../rtkCudaFDKBackProjectionImageFilter.cxx | 0 ...rtkCudaFDKConeBeamReconstructionFilter.cxx | 0 .../rtkCudaFDKWeightProjectionFilter.cu | 0 .../rtkCudaFDKWeightProjectionFilter.cxx | 0 .../rtkCudaFFTConvolutionImageFilter.cu | 0 {code => src}/rtkCudaFirstOrderKernels.cu | 0 .../rtkCudaForwardProjectionImageFilter.cu | 0 .../rtkCudaForwardWarpImageFilter.cu | 0 .../rtkCudaForwardWarpImageFilter.cxx | 0 .../rtkCudaInterpolateImageFilter.cu | 0 .../rtkCudaInterpolateImageFilter.cxx | 0 ...erativeFDKConeBeamReconstructionFilter.cxx | 0 .../rtkCudaLagCorrectionImageFilter.cu | 0 .../rtkCudaLagCorrectionImageFilter.cxx | 0 {code => src}/rtkCudaLaplacianImageFilter.cu | 0 {code => src}/rtkCudaLaplacianImageFilter.cxx | 0 ...CudaLastDimensionTVDenoisingImageFilter.cu | 0 ...udaLastDimensionTVDenoisingImageFilter.cxx | 0 .../rtkCudaParkerShortScanImageFilter.cu | 0 .../rtkCudaParkerShortScanImageFilter.cxx | 0 ...CudaPolynomialGainCorrectionImageFilter.cu | 0 ...udaPolynomialGainCorrectionImageFilter.cxx | 0 ...rtkCudaRayCastBackProjectionImageFilter.cu | 0 ...tkCudaRayCastBackProjectionImageFilter.cxx | 0 {code => src}/rtkCudaSplatImageFilter.cu | 0 {code => src}/rtkCudaSplatImageFilter.cxx | 0 ...aTotalVariationDenoisingBPDQImageFilter.cu | 0 ...TotalVariationDenoisingBPDQImageFilter.cxx | 0 {code => src}/rtkCudaUtilities.cu | 0 .../rtkCudaWarpBackProjectionImageFilter.cu | 0 .../rtkCudaWarpBackProjectionImageFilter.cxx | 0 ...rtkCudaWarpForwardProjectionImageFilter.cu | 0 ...tkCudaWarpForwardProjectionImageFilter.cxx | 0 {code => src}/rtkCudaWarpImageFilter.cu | 0 {code => src}/rtkCudaWarpImageFilter.cxx | 0 {code => src}/rtkDCMImagXImageIO.cxx | 0 {code => src}/rtkDCMImagXImageIOFactory.cxx | 0 {code => src}/rtkDbf.cxx | 0 {code => src}/rtkDigisensGeometryReader.cxx | 0 .../rtkDigisensGeometryXMLFileReader.cxx | 0 {code => src}/rtkDrawQuadricSpatialObject.cxx | 0 {code => src}/rtkEdfImageIO.cxx | 0 {code => src}/rtkEdfImageIOFactory.cxx | 0 .../rtkElektaSynergyGeometryReader.cxx | 0 .../rtkElektaXVI5GeometryXMLFile.cxx | 0 .../rtkGeometricPhantomFileReader.cxx | 0 {code => src}/rtkGlobalTimer.cxx | 0 .../rtkGlobalTimerProbesCollector.cxx | 0 {code => src}/rtkHisImageIO.cxx | 0 {code => src}/rtkHisImageIOFactory.cxx | 0 {code => src}/rtkHndImageIO.cxx | 0 {code => src}/rtkHndImageIOFactory.cxx | 0 {code => src}/rtkIOFactories.cxx | 0 {code => src}/rtkImagXImageIO.cxx | 0 {code => src}/rtkImagXImageIOFactory.cxx | 0 {code => src}/rtkImagXXMLFileReader.cxx | 0 {code => src}/rtkMedianImageFilter.cxx | 2 + {code => src}/rtkOraGeometryReader.cxx | 0 {code => src}/rtkOraImageIO.cxx | 0 {code => src}/rtkOraImageIOFactory.cxx | 0 {code => src}/rtkOraXMLFileReader.cxx | 0 {code => src}/rtkReg23ProjectionGeometry.cxx | 0 .../rtkThreeDCircularProjectionGeometry.cxx | 0 ...hreeDCircularProjectionGeometryXMLFile.cxx | 0 {code => src}/rtkTimeProbesCollectorBase.cxx | 0 {code => src}/rtkVarianObiGeometryReader.cxx | 0 {code => src}/rtkVarianObiXMLFileReader.cxx | 0 .../rtkVarianProBeamGeometryReader.cxx | 0 .../rtkVarianProBeamXMLFileReader.cxx | 0 {code => src}/rtkWatcherForTimer.cxx | 0 {code => src}/rtkXRadGeometryReader.cxx | 0 {code => src}/rtkXRadImageIO.cxx | 0 {code => src}/rtkXRadImageIOFactory.cxx | 0 {code => src}/rtkXimImageIO.cxx | 0 {code => src}/rtkXimImageIOFactory.cxx | 0 utilities/ITKCudaCommon/CMakeLists.txt | 24 +- .../include/itkCudaContextManager.h | 2 +- .../include/itkCudaDataManager.h | 2 +- .../include/itkCudaKernelManager.h | 2 +- utilities/ITKCudaCommon/include/itkCudaUtil.h | 2 +- .../include/itkCudaWin32Header.h | 34 + utilities/ITKCudaCommon/itk-module.cmake | 31 +- utilities/ITKCudaCommon/src/CMakeLists.txt | 24 +- utilities/ITKCudaCommon/test/CMakeLists.txt | 4 +- 483 files changed, 779 insertions(+), 877 deletions(-) delete mode 100644 code/CMakeLists.txt rename {code => include}/rtkADMMTotalVariationConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkADMMTotalVariationConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkADMMTotalVariationConjugateGradientOperator.h (100%) rename {code => include}/rtkADMMTotalVariationConjugateGradientOperator.hxx (100%) rename {code => include}/rtkADMMWaveletsConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkADMMWaveletsConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkADMMWaveletsConjugateGradientOperator.h (100%) rename {code => include}/rtkADMMWaveletsConjugateGradientOperator.hxx (100%) rename {code => include}/rtkAdditiveGaussianNoiseImageFilter.h (100%) rename {code => include}/rtkAdditiveGaussianNoiseImageFilter.hxx (100%) rename {code => include}/rtkAmsterdamShroudImageFilter.h (100%) rename {code => include}/rtkAmsterdamShroudImageFilter.hxx (100%) rename {code => include}/rtkAverageOutOfROIImageFilter.h (100%) rename {code => include}/rtkAverageOutOfROIImageFilter.hxx (100%) rename {code => include}/rtkBackProjectionImageFilter.h (100%) rename {code => include}/rtkBackProjectionImageFilter.hxx (100%) rename {code => include}/rtkBackwardDifferenceDivergenceImageFilter.h (100%) rename {code => include}/rtkBackwardDifferenceDivergenceImageFilter.hxx (100%) rename {code => include}/rtkBoellaardScatterCorrectionImageFilter.h (100%) rename {code => include}/rtkBoellaardScatterCorrectionImageFilter.hxx (100%) rename {code => include}/rtkConditionalMedianImageFilter.h (100%) rename {code => include}/rtkConditionalMedianImageFilter.hxx (100%) rename {code => include}/rtkConjugateGradientConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkConjugateGradientConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkConjugateGradientGetP_kPlusOneImageFilter.h (100%) rename {code => include}/rtkConjugateGradientGetP_kPlusOneImageFilter.hxx (100%) rename {code => include}/rtkConjugateGradientGetR_kPlusOneImageFilter.h (100%) rename {code => include}/rtkConjugateGradientGetR_kPlusOneImageFilter.hxx (100%) rename {code => include}/rtkConjugateGradientGetX_kPlusOneImageFilter.h (100%) rename {code => include}/rtkConjugateGradientGetX_kPlusOneImageFilter.hxx (100%) rename {code => include}/rtkConjugateGradientImageFilter.h (100%) rename {code => include}/rtkConjugateGradientImageFilter.hxx (100%) rename {code => include}/rtkConjugateGradientOperator.h (100%) rename {code => include}/rtkConjugateGradientOperator.hxx (100%) rename {code => include}/rtkConstantImageSource.h (100%) rename {code => include}/rtkConstantImageSource.hxx (100%) rename {code => include}/rtkConvertEllipsoidToQuadricParametersFunction.h (100%) rename {code => include}/rtkCudaAverageOutOfROIImageFilter.h (100%) rename {code => include}/rtkCudaAverageOutOfROIImageFilter.hcu (100%) rename {code => include}/rtkCudaBackProjectionImageFilter.h (100%) rename {code => include}/rtkCudaBackProjectionImageFilter.hcu (100%) rename {code => include}/rtkCudaConjugateGradientImageFilter_3f.h (100%) rename {code => include}/rtkCudaConjugateGradientImageFilter_3f.hcu (100%) rename {code => include}/rtkCudaConjugateGradientImageFilter_4f.h (100%) rename {code => include}/rtkCudaConjugateGradientImageFilter_4f.hcu (100%) rename {code => include}/rtkCudaConstantVolumeSeriesSource.h (100%) rename {code => include}/rtkCudaConstantVolumeSeriesSource.hcu (100%) rename {code => include}/rtkCudaConstantVolumeSource.h (100%) rename {code => include}/rtkCudaConstantVolumeSource.hcu (100%) rename {code => include}/rtkCudaCropImageFilter.h (100%) rename {code => include}/rtkCudaCropImageFilter.hcu (100%) rename {code => include}/rtkCudaCyclicDeformationImageFilter.h (100%) rename {code => include}/rtkCudaCyclicDeformationImageFilter.hcu (100%) rename {code => include}/rtkCudaDisplacedDetectorImageFilter.h (100%) rename {code => include}/rtkCudaDisplacedDetectorImageFilter.hcu (100%) rename {code => include}/rtkCudaFDKBackProjectionImageFilter.h (100%) rename {code => include}/rtkCudaFDKBackProjectionImageFilter.hcu (100%) rename {code => include}/rtkCudaFDKConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkCudaFDKWeightProjectionFilter.h (100%) rename {code => include}/rtkCudaFDKWeightProjectionFilter.hcu (100%) rename {code => include}/rtkCudaFFTConvolutionImageFilter.h (100%) rename {code => include}/rtkCudaFFTConvolutionImageFilter.hcu (100%) rename {code => include}/rtkCudaFFTConvolutionImageFilter.hxx (100%) rename {code => include}/rtkCudaFFTRampImageFilter.h (100%) rename {code => include}/rtkCudaFirstOrderKernels.hcu (100%) rename {code => include}/rtkCudaForwardProjectionImageFilter.h (100%) rename {code => include}/rtkCudaForwardProjectionImageFilter.hcu (100%) rename {code => include}/rtkCudaForwardProjectionImageFilter.hxx (100%) rename {code => include}/rtkCudaForwardWarpImageFilter.h (100%) rename {code => include}/rtkCudaForwardWarpImageFilter.hcu (100%) rename {code => include}/rtkCudaInterpolateImageFilter.h (100%) rename {code => include}/rtkCudaInterpolateImageFilter.hcu (100%) rename {code => include}/rtkCudaIntersectBox.hcu (100%) rename {code => include}/rtkCudaIterativeFDKConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkCudaLagCorrectionImageFilter.h (100%) rename {code => include}/rtkCudaLagCorrectionImageFilter.hcu (100%) rename {code => include}/rtkCudaLaplacianImageFilter.h (100%) rename {code => include}/rtkCudaLaplacianImageFilter.hcu (100%) rename {code => include}/rtkCudaLastDimensionTVDenoisingImageFilter.h (100%) rename {code => include}/rtkCudaLastDimensionTVDenoisingImageFilter.hcu (100%) rename {code => include}/rtkCudaParkerShortScanImageFilter.h (100%) rename {code => include}/rtkCudaParkerShortScanImageFilter.hcu (100%) rename {code => include}/rtkCudaPolynomialGainCorrectionImageFilter.h (100%) rename {code => include}/rtkCudaPolynomialGainCorrectionImageFilter.hcu (100%) rename {code => include}/rtkCudaRayCastBackProjectionImageFilter.h (100%) rename {code => include}/rtkCudaRayCastBackProjectionImageFilter.hcu (100%) rename {code => include}/rtkCudaScatterGlareCorrectionImageFilter.h (100%) rename {code => include}/rtkCudaSplatImageFilter.h (100%) rename {code => include}/rtkCudaSplatImageFilter.hcu (100%) rename {code => include}/rtkCudaTotalVariationDenoisingBPDQImageFilter.h (100%) rename {code => include}/rtkCudaTotalVariationDenoisingBPDQImageFilter.hcu (100%) rename {code => include}/rtkCudaUtilities.hcu (100%) rename {code => include}/rtkCudaWarpBackProjectionImageFilter.h (100%) rename {code => include}/rtkCudaWarpBackProjectionImageFilter.hcu (100%) rename {code => include}/rtkCudaWarpForwardProjectionImageFilter.h (100%) rename {code => include}/rtkCudaWarpForwardProjectionImageFilter.hcu (100%) rename {code => include}/rtkCudaWarpImageFilter.h (100%) rename {code => include}/rtkCudaWarpImageFilter.hcu (100%) rename {code => include}/rtkCyclicDeformationImageFilter.h (100%) rename {code => include}/rtkCyclicDeformationImageFilter.hxx (100%) rename {code => include}/rtkDCMImagXImageIO.h (100%) rename {code => include}/rtkDCMImagXImageIOFactory.h (100%) rename {code => include}/rtkDPExtractShroudSignalImageFilter.h (100%) rename {code => include}/rtkDPExtractShroudSignalImageFilter.hxx (100%) rename {code => include}/rtkDaubechiesWaveletsConvolutionImageFilter.h (100%) rename {code => include}/rtkDaubechiesWaveletsConvolutionImageFilter.hxx (100%) rename {code => include}/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.h (100%) rename {code => include}/rtkDaubechiesWaveletsDenoiseSequenceImageFilter.hxx (100%) rename {code => include}/rtkDbf.h (100%) rename {code => include}/rtkDeconstructImageFilter.h (100%) rename {code => include}/rtkDeconstructImageFilter.hxx (100%) rename {code => include}/rtkDeconstructSoftThresholdReconstructImageFilter.h (100%) rename {code => include}/rtkDeconstructSoftThresholdReconstructImageFilter.hxx (97%) rename {code => include}/rtkDenoisingBPDQImageFilter.h (100%) rename {code => include}/rtkDenoisingBPDQImageFilter.hxx (100%) rename {code => include}/rtkDigisensGeometryReader.h (100%) rename {code => include}/rtkDigisensGeometryXMLFileReader.h (100%) rename {code => include}/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.h (100%) rename {code => include}/rtkDisplacedDetectorForOffsetFieldOfViewImageFilter.hxx (100%) rename {code => include}/rtkDisplacedDetectorImageFilter.h (100%) rename {code => include}/rtkDisplacedDetectorImageFilter.hxx (100%) rename {code => include}/rtkDivergenceOfGradientConjugateGradientOperator.h (100%) rename {code => include}/rtkDivergenceOfGradientConjugateGradientOperator.hxx (100%) rename {code => include}/rtkDownsampleImageFilter.h (100%) rename {code => include}/rtkDownsampleImageFilter.hxx (96%) rename {code => include}/rtkDrawConeImageFilter.h (100%) rename {code => include}/rtkDrawConeImageFilter.hxx (100%) rename {code => include}/rtkDrawCubeImageFilter.h (100%) rename {code => include}/rtkDrawCubeImageFilter.hxx (100%) rename {code => include}/rtkDrawCylinderImageFilter.h (100%) rename {code => include}/rtkDrawCylinderImageFilter.hxx (100%) rename {code => include}/rtkDrawEllipsoidImageFilter.h (100%) rename {code => include}/rtkDrawEllipsoidImageFilter.hxx (100%) rename {code => include}/rtkDrawGeometricPhantomImageFilter.h (100%) rename {code => include}/rtkDrawGeometricPhantomImageFilter.hxx (100%) rename {code => include}/rtkDrawImageFilter.h (100%) rename {code => include}/rtkDrawImageFilter.hxx (100%) rename {code => include}/rtkDrawQuadricImageFilter.h (100%) rename {code => include}/rtkDrawQuadricImageFilter.hxx (100%) rename {code => include}/rtkDrawQuadricSpatialObject.h (100%) rename {code => include}/rtkDrawSheppLoganFilter.h (100%) rename {code => include}/rtkDrawSheppLoganFilter.hxx (100%) rename {code => include}/rtkDrawSpatialObject.h (100%) rename {code => include}/rtkDualEnergyNegativeLogLikelihood.h (100%) rename {code => include}/rtkEdfImageIO.h (100%) rename {code => include}/rtkEdfImageIOFactory.h (100%) rename {code => include}/rtkEdfRawToAttenuationImageFilter.h (100%) rename {code => include}/rtkEdfRawToAttenuationImageFilter.hxx (100%) rename {code => include}/rtkElektaSynergyGeometryReader.h (100%) rename {code => include}/rtkElektaSynergyLookupTableImageFilter.h (100%) rename {code => include}/rtkElektaSynergyLookupTableImageFilter.hxx (100%) rename {code => include}/rtkElektaSynergyRawLookupTableImageFilter.h (100%) rename {code => include}/rtkElektaSynergyRawLookupTableImageFilter.hxx (100%) rename {code => include}/rtkElektaXVI5GeometryXMLFile.h (100%) rename {code => include}/rtkExtractPhaseImageFilter.h (100%) rename {code => include}/rtkExtractPhaseImageFilter.hxx (100%) rename {code => include}/rtkFDKBackProjectionImageFilter.h (100%) rename {code => include}/rtkFDKBackProjectionImageFilter.hxx (100%) rename {code => include}/rtkFDKConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkFDKConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkFDKWarpBackProjectionImageFilter.h (100%) rename {code => include}/rtkFDKWarpBackProjectionImageFilter.hxx (100%) rename {code => include}/rtkFDKWeightProjectionFilter.h (100%) rename {code => include}/rtkFDKWeightProjectionFilter.hxx (100%) rename {code => include}/rtkFFTConvolutionImageFilter.h (100%) rename {code => include}/rtkFFTConvolutionImageFilter.hxx (100%) rename {code => include}/rtkFFTRampImageFilter.h (100%) rename {code => include}/rtkFFTRampImageFilter.hxx (100%) rename {code => include}/rtkFieldOfViewImageFilter.h (100%) rename {code => include}/rtkFieldOfViewImageFilter.hxx (100%) rename {code => include}/rtkForwardDifferenceGradientImageFilter.h (100%) rename {code => include}/rtkForwardDifferenceGradientImageFilter.hxx (100%) rename {code => include}/rtkForwardProjectionImageFilter.h (100%) rename {code => include}/rtkForwardProjectionImageFilter.hxx (100%) rename {code => include}/rtkForwardWarpImageFilter.h (100%) rename {code => include}/rtkForwardWarpImageFilter.hxx (100%) rename {code => include}/rtkFourDConjugateGradientConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkFourDROOSTERConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkFourDROOSTERConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkFourDReconstructionConjugateGradientOperator.h (100%) rename {code => include}/rtkFourDReconstructionConjugateGradientOperator.hxx (100%) rename {code => include}/rtkFourDSARTConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkFourDSARTConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkFourDToProjectionStackImageFilter.h (100%) rename {code => include}/rtkFourDToProjectionStackImageFilter.hxx (100%) rename {code => include}/rtkGeneralPurposeFunctions.h (100%) rename {code => include}/rtkGeometricPhantomFileReader.h (100%) rename {code => include}/rtkGgoArgsInfoManager.h (100%) rename {code => include}/rtkGgoFunctions.h (100%) rename {code => include}/rtkGlobalTimer.h (100%) rename {code => include}/rtkGlobalTimerProbesCollector.h (100%) rename {code => include}/rtkHilbertImageFilter.h (100%) rename {code => include}/rtkHilbertImageFilter.hxx (100%) rename {code => include}/rtkHisImageIO.h (100%) rename {code => include}/rtkHisImageIOFactory.h (100%) rename {code => include}/rtkHndImageIO.h (100%) rename {code => include}/rtkHndImageIOFactory.h (100%) rename {code => include}/rtkHomogeneousMatrix.h (100%) rename {code => include}/rtkI0EstimationProjectionFilter.h (100%) rename {code => include}/rtkI0EstimationProjectionFilter.hxx (100%) rename {code => include}/rtkIOFactories.h (100%) rename {code => include}/rtkImagXGeometryReader.h (100%) rename {code => include}/rtkImagXGeometryReader.hxx (100%) rename {code => include}/rtkImagXImageIO.h (100%) rename {code => include}/rtkImagXImageIOFactory.h (100%) rename {code => include}/rtkImagXXMLFileReader.h (100%) rename {code => include}/rtkImageToVectorImageFilter.h (100%) rename {code => include}/rtkImageToVectorImageFilter.hxx (100%) rename {code => include}/rtkImportImageFilter.h (100%) rename {code => include}/rtkImportImageFilter.hxx (100%) rename {code => include}/rtkInterpolatorWithKnownWeightsImageFilter.h (100%) rename {code => include}/rtkInterpolatorWithKnownWeightsImageFilter.hxx (100%) rename {code => include}/rtkIterativeConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkIterativeConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkIterativeFDKConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkIterativeFDKConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkJosephBackProjectionImageFilter.h (100%) rename {code => include}/rtkJosephBackProjectionImageFilter.hxx (100%) rename {code => include}/rtkJosephForwardProjectionImageFilter.h (100%) rename {code => include}/rtkJosephForwardProjectionImageFilter.hxx (100%) rename {code => include}/rtkLUTbasedVariableI0RawToAttenuationImageFilter.h (100%) rename {code => include}/rtkLUTbasedVariableI0RawToAttenuationImageFilter.hxx (100%) rename {code => include}/rtkLagCorrectionImageFilter.h (100%) rename {code => include}/rtkLagCorrectionImageFilter.hxx (100%) rename {code => include}/rtkLaplacianImageFilter.h (100%) rename {code => include}/rtkLaplacianImageFilter.hxx (100%) rename {code => include}/rtkLastDimensionL0GradientDenoisingImageFilter.h (100%) rename {code => include}/rtkLastDimensionL0GradientDenoisingImageFilter.hxx (100%) rename {code => include}/rtkLookupTableImageFilter.h (100%) rename {code => include}/rtkLookupTableImageFilter.hxx (100%) rename {code => include}/rtkMacro.h (100%) rename {code => include}/rtkMagnitudeThresholdImageFilter.h (100%) rename {code => include}/rtkMagnitudeThresholdImageFilter.hxx (100%) rename {code => include}/rtkMaskCollimationImageFilter.h (100%) rename {code => include}/rtkMaskCollimationImageFilter.hxx (100%) rename {code => include}/rtkMedianImageFilter.h (100%) rename {code => include}/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkMotionCompensatedFourDROOSTERConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.h (100%) rename {code => include}/rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.hxx (100%) rename {code => include}/rtkMultiplyByVectorImageFilter.h (100%) rename {code => include}/rtkMultiplyByVectorImageFilter.hxx (100%) rename {code => include}/rtkNormalizedJosephBackProjectionImageFilter.h (100%) rename {code => include}/rtkNormalizedJosephBackProjectionImageFilter.hxx (100%) rename {code => include}/rtkOraGeometryReader.h (100%) rename {code => include}/rtkOraImageIO.h (100%) rename {code => include}/rtkOraImageIOFactory.h (100%) rename {code => include}/rtkOraLookupTableImageFilter.h (100%) rename {code => include}/rtkOraLookupTableImageFilter.hxx (100%) rename {code => include}/rtkOraXMLFileReader.h (100%) rename {code => include}/rtkParkerShortScanImageFilter.h (100%) rename {code => include}/rtkParkerShortScanImageFilter.hxx (100%) rename {code => include}/rtkPhaseGatingImageFilter.h (100%) rename {code => include}/rtkPhaseGatingImageFilter.hxx (100%) rename {code => include}/rtkPhaseReader.h (100%) rename {code => include}/rtkPhaseReader.hxx (100%) rename {code => include}/rtkPhasesToInterpolationWeights.h (100%) rename {code => include}/rtkPhasesToInterpolationWeights.hxx (100%) rename {code => include}/rtkPolynomialGainCorrectionImageFilter.h (100%) rename {code => include}/rtkPolynomialGainCorrectionImageFilter.hxx (100%) rename {code => include}/rtkProjectGeometricPhantomImageFilter.h (100%) rename {code => include}/rtkProjectGeometricPhantomImageFilter.hxx (100%) rename {code => include}/rtkProjectionGeometry.h (100%) rename {code => include}/rtkProjectionGeometry.hxx (100%) rename {code => include}/rtkProjectionStackToFourDImageFilter.h (100%) rename {code => include}/rtkProjectionStackToFourDImageFilter.hxx (100%) rename {code => include}/rtkProjectionsDecompositionNegativeLogLikelihood.h (100%) rename {code => include}/rtkProjectionsReader.h (100%) rename {code => include}/rtkProjectionsReader.hxx (100%) rename {code => include}/rtkProjectionsRegionConstIteratorRayBased.h (100%) rename {code => include}/rtkProjectionsRegionConstIteratorRayBased.hxx (100%) rename {code => include}/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.h (100%) rename {code => include}/rtkProjectionsRegionConstIteratorRayBasedWithCylindricalPanel.hxx (100%) rename {code => include}/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.h (100%) rename {code => include}/rtkProjectionsRegionConstIteratorRayBasedWithFlatPanel.hxx (100%) rename {code => include}/rtkRayBoxIntersectionFunction.h (100%) rename {code => include}/rtkRayBoxIntersectionFunction.hxx (100%) rename {code => include}/rtkRayBoxIntersectionImageFilter.h (100%) rename {code => include}/rtkRayBoxIntersectionImageFilter.hxx (100%) rename {code => include}/rtkRayCastInterpolateImageFunction.h (100%) rename {code => include}/rtkRayCastInterpolateImageFunction.hxx (100%) rename {code => include}/rtkRayCastInterpolatorForwardProjectionImageFilter.h (100%) rename {code => include}/rtkRayCastInterpolatorForwardProjectionImageFilter.hxx (100%) rename {code => include}/rtkRayEllipsoidIntersectionImageFilter.h (100%) rename {code => include}/rtkRayEllipsoidIntersectionImageFilter.hxx (100%) rename {code => include}/rtkRayQuadricIntersectionFunction.h (100%) rename {code => include}/rtkRayQuadricIntersectionFunction.hxx (100%) rename {code => include}/rtkRayQuadricIntersectionImageFilter.h (100%) rename {code => include}/rtkRayQuadricIntersectionImageFilter.hxx (100%) rename {code => include}/rtkReconstructImageFilter.h (100%) rename {code => include}/rtkReconstructImageFilter.hxx (100%) rename {code => include}/rtkReconstructionConjugateGradientOperator.h (100%) rename {code => include}/rtkReconstructionConjugateGradientOperator.hxx (100%) rename {code => include}/rtkReg1DExtractShroudSignalImageFilter.h (100%) rename {code => include}/rtkReg1DExtractShroudSignalImageFilter.hxx (100%) rename {code => include}/rtkReg23ProjectionGeometry.h (100%) rename {code => include}/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkRegularizedConjugateGradientConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkReorderProjectionsImageFilter.h (100%) rename {code => include}/rtkReorderProjectionsImageFilter.hxx (100%) rename {code => include}/rtkSARTConeBeamReconstructionFilter.h (100%) rename {code => include}/rtkSARTConeBeamReconstructionFilter.hxx (100%) rename {code => include}/rtkScatterGlareCorrectionImageFilter.h (100%) rename {code => include}/rtkScatterGlareCorrectionImageFilter.hxx (100%) rename {code => include}/rtkSchlomka2008NegativeLogLikelihood.h (100%) rename {code => include}/rtkSelectOneProjectionPerCycleImageFilter.h (100%) rename {code => include}/rtkSelectOneProjectionPerCycleImageFilter.hxx (100%) rename {code => include}/rtkSheppLoganPhantomFilter.h (100%) rename {code => include}/rtkSheppLoganPhantomFilter.hxx (100%) rename {code => include}/rtkSignalToInterpolationWeights.h (100%) rename {code => include}/rtkSignalToInterpolationWeights.hxx (100%) rename {code => include}/rtkSimplexSpectralProjectionsDecompositionImageFilter.h (100%) rename {code => include}/rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx (100%) rename {code => include}/rtkSingularValueThresholdImageFilter.h (100%) rename {code => include}/rtkSingularValueThresholdImageFilter.hxx (100%) rename {code => include}/rtkSoftThresholdImageFilter.h (100%) rename {code => include}/rtkSoftThresholdImageFilter.hxx (100%) rename {code => include}/rtkSoftThresholdTVImageFilter.h (100%) rename {code => include}/rtkSoftThresholdTVImageFilter.hxx (100%) rename {code => include}/rtkSpectralForwardModelImageFilter.h (100%) rename {code => include}/rtkSpectralForwardModelImageFilter.hxx (100%) rename {code => include}/rtkSplatWithKnownWeightsImageFilter.h (100%) rename {code => include}/rtkSplatWithKnownWeightsImageFilter.hxx (100%) rename {code => include}/rtkSubSelectFromListImageFilter.h (100%) rename {code => include}/rtkSubSelectFromListImageFilter.hxx (100%) rename {code => include}/rtkSubSelectImageFilter.h (100%) rename {code => include}/rtkSubSelectImageFilter.hxx (100%) rename {code => include}/rtkThreeDCircularProjectionGeometry.h (100%) rename {code => include}/rtkThreeDCircularProjectionGeometryXMLFile.h (100%) rename {code => include}/rtkTimeProbesCollectorBase.h (100%) rename {code => include}/rtkTotalNuclearVariationDenoisingBPDQImageFilter.h (100%) rename {code => include}/rtkTotalNuclearVariationDenoisingBPDQImageFilter.hxx (100%) rename {code => include}/rtkTotalVariationDenoiseSequenceImageFilter.h (100%) rename {code => include}/rtkTotalVariationDenoiseSequenceImageFilter.hxx (100%) rename {code => include}/rtkTotalVariationDenoisingBPDQImageFilter.h (100%) rename {code => include}/rtkTotalVariationDenoisingBPDQImageFilter.hxx (100%) rename {code => include}/rtkTotalVariationImageFilter.h (100%) rename {code => include}/rtkTotalVariationImageFilter.hxx (100%) rename {code => include}/rtkUnwarpSequenceConjugateGradientOperator.h (100%) rename {code => include}/rtkUnwarpSequenceConjugateGradientOperator.hxx (100%) rename {code => include}/rtkUnwarpSequenceImageFilter.h (100%) rename {code => include}/rtkUnwarpSequenceImageFilter.hxx (100%) rename {code => include}/rtkUpsampleImageFilter.h (100%) rename {code => include}/rtkUpsampleImageFilter.hxx (100%) rename {code => include}/rtkVarianObiGeometryReader.h (100%) rename {code => include}/rtkVarianObiRawImageFilter.h (100%) rename {code => include}/rtkVarianObiRawImageFilter.hxx (100%) rename {code => include}/rtkVarianObiXMLFileReader.h (100%) rename {code => include}/rtkVarianProBeamGeometryReader.h (100%) rename {code => include}/rtkVarianProBeamXMLFileReader.h (100%) rename {code => include}/rtkVectorImageToImageFilter.h (100%) rename {code => include}/rtkVectorImageToImageFilter.hxx (100%) rename {code => include}/rtkWarpFourDToProjectionStackImageFilter.h (100%) rename {code => include}/rtkWarpFourDToProjectionStackImageFilter.hxx (100%) rename {code => include}/rtkWarpProjectionStackToFourDImageFilter.h (100%) rename {code => include}/rtkWarpProjectionStackToFourDImageFilter.hxx (100%) rename {code => include}/rtkWarpSequenceImageFilter.h (100%) rename {code => include}/rtkWarpSequenceImageFilter.hxx (100%) rename {code => include}/rtkWatcherForTimer.h (100%) rename {code => include}/rtkWaterPrecorrectionImageFilter.h (100%) rename {code => include}/rtkWaterPrecorrectionImageFilter.hxx (100%) rename {code => include}/rtkWin32Header.h (100%) rename {code => include}/rtkXRadGeometryReader.h (100%) rename {code => include}/rtkXRadImageIO.h (100%) rename {code => include}/rtkXRadImageIOFactory.h (100%) rename {code => include}/rtkXRadRawToAttenuationImageFilter.h (100%) rename {code => include}/rtkXRadRawToAttenuationImageFilter.hxx (100%) rename {code => include}/rtkXimImageIO.h (100%) rename {code => include}/rtkXimImageIOFactory.h (100%) create mode 100644 itk-module-init.cmake create mode 100644 itk-module.cmake rename code/rtkConfiguration.h.in => rtkConfiguration.h.in (100%) create mode 100644 src/CMakeLists.txt rename {code => src}/rtkConditionalMedianImageFilter.cxx (100%) rename {code => src}/rtkConvertEllipsoidToQuadricParametersFunction.cxx (100%) rename {code => src}/rtkCudaAverageOutOfROIImageFilter.cu (100%) rename {code => src}/rtkCudaAverageOutOfROIImageFilter.cxx (100%) rename {code => src}/rtkCudaBackProjectionImageFilter.cu (100%) rename {code => src}/rtkCudaBackProjectionImageFilter.cxx (100%) rename {code => src}/rtkCudaConjugateGradientImageFilter_3f.cu (100%) rename {code => src}/rtkCudaConjugateGradientImageFilter_3f.cxx (100%) rename {code => src}/rtkCudaConjugateGradientImageFilter_4f.cu (100%) rename {code => src}/rtkCudaConjugateGradientImageFilter_4f.cxx (100%) rename {code => src}/rtkCudaConstantVolumeSeriesSource.cu (100%) rename {code => src}/rtkCudaConstantVolumeSeriesSource.cxx (100%) rename {code => src}/rtkCudaConstantVolumeSource.cu (100%) rename {code => src}/rtkCudaConstantVolumeSource.cxx (100%) rename {code => src}/rtkCudaCropImageFilter.cu (100%) rename {code => src}/rtkCudaCropImageFilter.cxx (100%) rename {code => src}/rtkCudaCyclicDeformationImageFilter.cu (100%) rename {code => src}/rtkCudaCyclicDeformationImageFilter.cxx (100%) rename {code => src}/rtkCudaDisplacedDetectorImageFilter.cu (100%) rename {code => src}/rtkCudaDisplacedDetectorImageFilter.cxx (100%) rename {code => src}/rtkCudaFDKBackProjectionImageFilter.cu (100%) rename {code => src}/rtkCudaFDKBackProjectionImageFilter.cxx (100%) rename {code => src}/rtkCudaFDKConeBeamReconstructionFilter.cxx (100%) rename {code => src}/rtkCudaFDKWeightProjectionFilter.cu (100%) rename {code => src}/rtkCudaFDKWeightProjectionFilter.cxx (100%) rename {code => src}/rtkCudaFFTConvolutionImageFilter.cu (100%) rename {code => src}/rtkCudaFirstOrderKernels.cu (100%) rename {code => src}/rtkCudaForwardProjectionImageFilter.cu (100%) rename {code => src}/rtkCudaForwardWarpImageFilter.cu (100%) rename {code => src}/rtkCudaForwardWarpImageFilter.cxx (100%) rename {code => src}/rtkCudaInterpolateImageFilter.cu (100%) rename {code => src}/rtkCudaInterpolateImageFilter.cxx (100%) rename {code => src}/rtkCudaIterativeFDKConeBeamReconstructionFilter.cxx (100%) rename {code => src}/rtkCudaLagCorrectionImageFilter.cu (100%) rename {code => src}/rtkCudaLagCorrectionImageFilter.cxx (100%) rename {code => src}/rtkCudaLaplacianImageFilter.cu (100%) rename {code => src}/rtkCudaLaplacianImageFilter.cxx (100%) rename {code => src}/rtkCudaLastDimensionTVDenoisingImageFilter.cu (100%) rename {code => src}/rtkCudaLastDimensionTVDenoisingImageFilter.cxx (100%) rename {code => src}/rtkCudaParkerShortScanImageFilter.cu (100%) rename {code => src}/rtkCudaParkerShortScanImageFilter.cxx (100%) rename {code => src}/rtkCudaPolynomialGainCorrectionImageFilter.cu (100%) rename {code => src}/rtkCudaPolynomialGainCorrectionImageFilter.cxx (100%) rename {code => src}/rtkCudaRayCastBackProjectionImageFilter.cu (100%) rename {code => src}/rtkCudaRayCastBackProjectionImageFilter.cxx (100%) rename {code => src}/rtkCudaSplatImageFilter.cu (100%) rename {code => src}/rtkCudaSplatImageFilter.cxx (100%) rename {code => src}/rtkCudaTotalVariationDenoisingBPDQImageFilter.cu (100%) rename {code => src}/rtkCudaTotalVariationDenoisingBPDQImageFilter.cxx (100%) rename {code => src}/rtkCudaUtilities.cu (100%) rename {code => src}/rtkCudaWarpBackProjectionImageFilter.cu (100%) rename {code => src}/rtkCudaWarpBackProjectionImageFilter.cxx (100%) rename {code => src}/rtkCudaWarpForwardProjectionImageFilter.cu (100%) rename {code => src}/rtkCudaWarpForwardProjectionImageFilter.cxx (100%) rename {code => src}/rtkCudaWarpImageFilter.cu (100%) rename {code => src}/rtkCudaWarpImageFilter.cxx (100%) rename {code => src}/rtkDCMImagXImageIO.cxx (100%) rename {code => src}/rtkDCMImagXImageIOFactory.cxx (100%) rename {code => src}/rtkDbf.cxx (100%) rename {code => src}/rtkDigisensGeometryReader.cxx (100%) rename {code => src}/rtkDigisensGeometryXMLFileReader.cxx (100%) rename {code => src}/rtkDrawQuadricSpatialObject.cxx (100%) rename {code => src}/rtkEdfImageIO.cxx (100%) rename {code => src}/rtkEdfImageIOFactory.cxx (100%) rename {code => src}/rtkElektaSynergyGeometryReader.cxx (100%) rename {code => src}/rtkElektaXVI5GeometryXMLFile.cxx (100%) rename {code => src}/rtkGeometricPhantomFileReader.cxx (100%) rename {code => src}/rtkGlobalTimer.cxx (100%) rename {code => src}/rtkGlobalTimerProbesCollector.cxx (100%) rename {code => src}/rtkHisImageIO.cxx (100%) rename {code => src}/rtkHisImageIOFactory.cxx (100%) rename {code => src}/rtkHndImageIO.cxx (100%) rename {code => src}/rtkHndImageIOFactory.cxx (100%) rename {code => src}/rtkIOFactories.cxx (100%) rename {code => src}/rtkImagXImageIO.cxx (100%) rename {code => src}/rtkImagXImageIOFactory.cxx (100%) rename {code => src}/rtkImagXXMLFileReader.cxx (100%) rename {code => src}/rtkMedianImageFilter.cxx (99%) rename {code => src}/rtkOraGeometryReader.cxx (100%) rename {code => src}/rtkOraImageIO.cxx (100%) rename {code => src}/rtkOraImageIOFactory.cxx (100%) rename {code => src}/rtkOraXMLFileReader.cxx (100%) rename {code => src}/rtkReg23ProjectionGeometry.cxx (100%) rename {code => src}/rtkThreeDCircularProjectionGeometry.cxx (100%) rename {code => src}/rtkThreeDCircularProjectionGeometryXMLFile.cxx (100%) rename {code => src}/rtkTimeProbesCollectorBase.cxx (100%) rename {code => src}/rtkVarianObiGeometryReader.cxx (100%) rename {code => src}/rtkVarianObiXMLFileReader.cxx (100%) rename {code => src}/rtkVarianProBeamGeometryReader.cxx (100%) rename {code => src}/rtkVarianProBeamXMLFileReader.cxx (100%) rename {code => src}/rtkWatcherForTimer.cxx (100%) rename {code => src}/rtkXRadGeometryReader.cxx (100%) rename {code => src}/rtkXRadImageIO.cxx (100%) rename {code => src}/rtkXRadImageIOFactory.cxx (100%) rename {code => src}/rtkXimImageIO.cxx (100%) rename {code => src}/rtkXimImageIOFactory.cxx (100%) create mode 100644 utilities/ITKCudaCommon/include/itkCudaWin32Header.h 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()