#--------------------------------------------------------------------- PROJECT( elxCommon ) #--------------------------------------------------------------------- # Sub-projects. ADD_SUBDIRECTORY( ParameterFileParser ) ADD_SUBDIRECTORY( xout ) IF( USE_KNNGraphAlphaMutualInformationMetric ) ADD_SUBDIRECTORY( KNN ) ENDIF() IF( ELASTIX_USE_MEVISDICOMTIFF ) ADD_SUBDIRECTORY( MevisDicomTiff ) ENDIF() IF( ELASTIX_USE_CUDA ) ADD_SUBDIRECTORY( CUDA ) ENDIF() #--------------------------------------------------------------------- # Define lists of files in the subdirectories. SET( CommonFiles elxTimer.cxx elxTimer.h itkAdvancedRayCastInterpolateImageFunction.h itkAdvancedRayCastInterpolateImageFunction.txx itkImageFileCastWriter.h itkImageFileCastWriter.txx itkMeshFileReaderBase.h itkMeshFileReaderBase.txx itkMultiResolutionGaussianSmoothingPyramidImageFilter.h itkMultiResolutionGaussianSmoothingPyramidImageFilter.txx itkMultiResolutionImageRegistrationMethod2.h itkMultiResolutionImageRegistrationMethod2.txx itkNDImageBase.h itkNDImageTemplate.h itkNDImageTemplate.hxx itkScaledSingleValuedNonLinearOptimizer.cxx itkScaledSingleValuedNonLinearOptimizer.h itkTransformixInputPointFileReader.h itkTransformixInputPointFileReader.hxx ) SET( MaskFiles itkImageMaskSpatialObject2.h itkImageMaskSpatialObject2.txx itkImageSpatialObject2.h itkImageSpatialObject2.txx itkErodeMaskImageFilter.h itkErodeMaskImageFilter.txx itkParabolicErodeDilateImageFilter.h itkParabolicErodeDilateImageFilter.txx itkParabolicErodeImageFilter.h itkParabolicMorphUtils.h ) SET( CostFunctionFiles CostFunctions/itkAdvancedImageToImageMetric.h CostFunctions/itkAdvancedImageToImageMetric.hxx CostFunctions/itkExponentialLimiterFunction.h CostFunctions/itkExponentialLimiterFunction.hxx CostFunctions/itkHardLimiterFunction.h CostFunctions/itkHardLimiterFunction.hxx CostFunctions/itkImageToImageMetricWithFeatures.h CostFunctions/itkImageToImageMetricWithFeatures.txx CostFunctions/itkLimiterFunctionBase.h CostFunctions/itkMultiInputImageToImageMetricBase.h CostFunctions/itkMultiInputImageToImageMetricBase.txx CostFunctions/itkParzenWindowHistogramImageToImageMetric.h CostFunctions/itkParzenWindowHistogramImageToImageMetric.hxx CostFunctions/itkScaledSingleValuedCostFunction.cxx CostFunctions/itkScaledSingleValuedCostFunction.h CostFunctions/itkSingleValuedPointSetToPointSetMetric.h CostFunctions/itkSingleValuedPointSetToPointSetMetric.txx CostFunctions/itkTransformPenaltyTerm.h CostFunctions/itkTransformPenaltyTerm.txx ) SET( TransformFiles Transforms/itkAdvancedBSplineDeformableTransformBase.h Transforms/itkAdvancedBSplineDeformableTransformBase.txx Transforms/itkAdvancedBSplineDeformableTransform.h Transforms/itkAdvancedBSplineDeformableTransform.txx Transforms/itkAdvancedCombinationTransform.h Transforms/itkAdvancedCombinationTransform.hxx Transforms/itkAdvancedIdentityTransform.h Transforms/itkAdvancedMatrixOffsetTransformBase.h Transforms/itkAdvancedMatrixOffsetTransformBase.txx Transforms/itkAdvancedRigid2DTransform.h Transforms/itkAdvancedRigid2DTransform.txx Transforms/itkAdvancedRigid3DTransform.h Transforms/itkAdvancedRigid3DTransform.txx Transforms/itkAdvancedTransform.h Transforms/itkAdvancedTransform.txx Transforms/itkBSplineDerivativeKernelFunction2.h Transforms/itkBSplineInterpolationDerivativeWeightFunction.h Transforms/itkBSplineInterpolationDerivativeWeightFunction.txx Transforms/itkBSplineInterpolationSecondOrderDerivativeWeightFunction.h Transforms/itkBSplineInterpolationSecondOrderDerivativeWeightFunction.txx Transforms/itkBSplineInterpolationWeightFunction2.h Transforms/itkBSplineInterpolationWeightFunction2.txx Transforms/itkBSplineInterpolationWeightFunctionBase.h Transforms/itkBSplineInterpolationWeightFunctionBase.txx Transforms/itkBSplineKernelFunction2.h #Transforms/itkBSplineSecondOrderDerivativeKernelFunction.h Transforms/itkBSplineSecondOrderDerivativeKernelFunction2.h Transforms/itkTransformToDeterminantOfSpatialJacobianSource.h Transforms/itkTransformToDeterminantOfSpatialJacobianSource.txx Transforms/itkTransformToSpatialJacobianSource.h Transforms/itkTransformToSpatialJacobianSource.txx Transforms/itkGridScheduleComputer.h Transforms/itkGridScheduleComputer.txx Transforms/itkUpsampleBSplineParametersFilter.h Transforms/itkUpsampleBSplineParametersFilter.txx ) SET( LineSearchOptimizersFiles LineSearchOptimizers/itkMoreThuenteLineSearchOptimizer.h LineSearchOptimizers/itkMoreThuenteLineSearchOptimizer.cxx LineSearchOptimizers/itkLineSearchOptimizer.h LineSearchOptimizers/itkLineSearchOptimizer.cxx ) SET( ImageSamplersFiles ImageSamplers/itkImageFullSampler.h ImageSamplers/itkImageFullSampler.txx ImageSamplers/itkImageGridSampler.h ImageSamplers/itkImageGridSampler.txx ImageSamplers/itkImageRandomCoordinateSampler.h ImageSamplers/itkImageRandomCoordinateSampler.txx ImageSamplers/itkImageRandomSampler.h ImageSamplers/itkImageRandomSampler.txx ImageSamplers/itkImageRandomSamplerBase.h ImageSamplers/itkImageRandomSamplerSparseMask.h ImageSamplers/itkImageRandomSamplerSparseMask.txx ImageSamplers/itkImageSample.h ImageSamplers/itkImageSamplerBase.h ImageSamplers/itkImageSamplerBase.txx ImageSamplers/itkImageToVectorContainerFilter.h ImageSamplers/itkImageToVectorContainerFilter.txx ImageSamplers/itkMultiInputImageRandomCoordinateSampler.h ImageSamplers/itkMultiInputImageRandomCoordinateSampler.txx ImageSamplers/itkVectorContainerSource.h ImageSamplers/itkVectorContainerSource.txx ImageSamplers/itkVectorDataContainer.h ImageSamplers/itkVectorDataContainer.txx ) #--------------------------------------------------------------------- # Construct source groups for nice visualisation in Visual Studio. SOURCE_GROUP( "Masks" FILES ${MaskFiles} ) SOURCE_GROUP( "CostFunctions" FILES ${CostFunctionFiles} ) SOURCE_GROUP( "Transforms" FILES ${TransformFiles} ) SOURCE_GROUP( "LineSearchOptimizers" FILES ${LineSearchOptimizersFiles} ) SOURCE_GROUP( "ImageSamplers" FILES ${ImageSamplersFiles} ) #--------------------------------------------------------------------- # Create the elxCommon library. ADD_LIBRARY( elxCommon ${MaskFiles} ${CommonFiles} ${CostFunctionFiles} ${TransformFiles} ${LineSearchOptimizersFiles} ${ImageSamplersFiles} ) #--------------------------------------------------------------------- # Link against other libraries. IF( UNIX AND NOT APPLE ) TARGET_LINK_LIBRARIES( elxCommon ITKBasicFilters ITKNumerics ITKIO ITKCommon rt # Needed for elxTimer, clock_gettime() ) ELSE() TARGET_LINK_LIBRARIES( elxCommon ITKBasicFilters ITKNumerics ITKIO ITKCommon ) ENDIF()