From e7b4e2c9254e9e431f74acc92e3f0d40fc5e7ef6 Mon Sep 17 00:00:00 2001 From: riveros Date: Thu, 19 Apr 2012 17:30:58 +0200 Subject: [PATCH] All Slicer modules succesfully compiled into BBTK boxes :P --- ModuleCall/CMakeFiles/CMakeCCompiler.cmake | 49 + ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake | 50 + .../CMakeDetermineCompilerABI_C.bin | Bin 0 -> 8413 bytes .../CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 8426 bytes .../CMakeDirectoryInformation.cmake | 56 + ModuleCall/CMakeFiles/CMakeError.log | 84 + ModuleCall/CMakeFiles/CMakeOutput.log | 5004 +++++++++++++++++ ModuleCall/CMakeFiles/CMakeSystem.cmake | 15 + .../CMakeFiles/CompilerIdC/CMakeCCompilerId.c | 232 + ModuleCall/CMakeFiles/CompilerIdC/a.out | Bin 0 -> 8472 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 215 + ModuleCall/CMakeFiles/CompilerIdCXX/a.out | Bin 0 -> 8476 bytes ModuleCall/CMakeFiles/Makefile.cmake | 57 + ModuleCall/CMakeFiles/Makefile2 | 99 + ModuleCall/CMakeFiles/TargetDirectories.txt | 1 + .../CMakeFiles/Tutorial.dir/CXX.includecache | 16 + .../CMakeFiles/Tutorial.dir/DependInfo.cmake | 26 + ModuleCall/CMakeFiles/Tutorial.dir/build.make | 102 + .../CMakeFiles/Tutorial.dir/cmake_clean.cmake | 10 + .../CMakeFiles/Tutorial.dir/depend.internal | 5 + .../CMakeFiles/Tutorial.dir/depend.make | 5 + ModuleCall/CMakeFiles/Tutorial.dir/flags.make | 8 + ModuleCall/CMakeFiles/Tutorial.dir/link.txt | 1 + .../CMakeFiles/Tutorial.dir/progress.make | 2 + ModuleCall/CMakeFiles/cmake.check_cache | 1 + .../interoperating_Baby.dir/CXX.includecache | 114 + .../CreationTool.cxx.o | Bin 0 -> 399064 bytes .../interoperating_Baby.dir/DependInfo.cmake | 14 + .../interoperating_Baby.dir/build.make | 129 + .../interoperating_Baby.dir/cmake_clean.cmake | 11 + .../interoperating_Baby.dir/depend.internal | 18 + .../interoperating_Baby.dir/depend.make | 18 + .../interoperating_Baby.dir/flags.make | 8 + .../interoperating_Baby.dir/link.txt | 1 + .../interoperating_Baby.dir/main.cpp.o | Bin 0 -> 353184 bytes .../interoperating_Baby.dir/progress.make | 3 + ModuleCall/CMakeFiles/progress.marks | 1 + ModuleCall/CreationTool.cxx | 445 +- ModuleCall/CreationTool.h | 32 +- ModuleCall/GenSrc/bbSlicerACPCTransform.cxx | 58 + ModuleCall/GenSrc/bbSlicerACPCTransform.h | 64 + ModuleCall/GenSrc/bbSlicerAddImages.cxx | 58 + ModuleCall/GenSrc/bbSlicerAddImages.h | 64 + .../bbSlicerBSplinetodeformationfield.cxx | 57 + .../bbSlicerBSplinetodeformationfield.h | 62 + ModuleCall/GenSrc/bbSlicerCastImage.cxx | 57 + ModuleCall/GenSrc/bbSlicerCastImage.h | 62 + .../GenSrc/bbSlicerCheckerBoardFilter.cxx | 58 + .../GenSrc/bbSlicerCheckerBoardFilter.h | 64 + .../GenSrc/bbSlicerCommandLineModuleTest.cxx | 58 + .../GenSrc/bbSlicerCommandLineModuleTest.h | 64 + .../GenSrc/bbSlicerCreateaDICOMSeries.cxx | 74 + .../GenSrc/bbSlicerCreateaDICOMSeries.h | 96 + .../bbSlicerCurvatureAnisotropicDiffusion.cxx | 59 + .../bbSlicerCurvatureAnisotropicDiffusion.h | 66 + .../bbSlicerDemonRegistrationBRAINS.cxx | 94 + .../GenSrc/bbSlicerDemonRegistrationBRAINS.h | 136 + .../GenSrc/bbSlicerDicomtoNrrdConverter.cxx | 61 + .../GenSrc/bbSlicerDicomtoNrrdConverter.h | 70 + .../GenSrc/bbSlicerExecutionModelTour.cxx | 82 + .../GenSrc/bbSlicerExecutionModelTour.h | 112 + .../bbSlicerExpertAutomatedRegistration.cxx | 82 + .../bbSlicerExpertAutomatedRegistration.h | 112 + ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx | 60 + ModuleCall/GenSrc/bbSlicerExtractSkeleton.h | 68 + .../GenSrc/bbSlicerFastAffineregistration.cxx | 65 + .../GenSrc/bbSlicerFastAffineregistration.h | 78 + ...bSlicerFastNonrigidBSplineregistration.cxx | 67 + .../bbSlicerFastNonrigidBSplineregistration.h | 82 + .../GenSrc/bbSlicerFastRigidregistration.cxx | 67 + .../GenSrc/bbSlicerFastRigidregistration.h | 82 + .../GenSrc/bbSlicerFiducialRegistration.cxx | 58 + .../GenSrc/bbSlicerFiducialRegistration.h | 64 + .../bbSlicerForegroundmaskingBRAINS.cxx | 63 + .../GenSrc/bbSlicerForegroundmaskingBRAINS.h | 74 + ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx | 57 + ModuleCall/GenSrc/bbSlicerGaussianBlur.h | 62 + .../bbSlicerGeneralRegistrationBRAINS.cxx | 114 + .../bbSlicerGeneralRegistrationBRAINS.h | 176 + .../bbSlicerGradientAnisotropicDiffusion.cxx | 59 + .../bbSlicerGradientAnisotropicDiffusion.h | 66 + .../GenSrc/bbSlicerGrayscaleFillHole.cxx | 56 + ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h | 60 + .../GenSrc/bbSlicerGrayscaleGrindPeak.cxx | 56 + .../GenSrc/bbSlicerGrayscaleGrindPeak.h | 60 + .../GenSrc/bbSlicerHistogramMatching.cxx | 60 + ModuleCall/GenSrc/bbSlicerHistogramMatching.h | 68 + .../GenSrc/bbSlicerImageLabelCombine.cxx | 58 + ModuleCall/GenSrc/bbSlicerImageLabelCombine.h | 64 + .../bbSlicerJointRicianLMMSEImageFilter.cxx | 59 + .../bbSlicerJointRicianLMMSEImageFilter.h | 66 + .../GenSrc/bbSlicerLabelMapSmoothing.cxx | 60 + ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h | 68 + .../GenSrc/bbSlicerLinearregistration.cxx | 66 + .../GenSrc/bbSlicerLinearregistration.h | 80 + .../GenSrc/bbSlicerMRIBiasFieldCorrection.cxx | 64 + .../GenSrc/bbSlicerMRIBiasFieldCorrection.h | 76 + ModuleCall/GenSrc/bbSlicerMaskImage.cxx | 59 + ModuleCall/GenSrc/bbSlicerMaskImage.h | 66 + ModuleCall/GenSrc/bbSlicerMedianFilter.cxx | 57 + ModuleCall/GenSrc/bbSlicerMedianFilter.h | 62 + ModuleCall/GenSrc/bbSlicerMergeModels.cxx | 57 + ModuleCall/GenSrc/bbSlicerMergeModels.h | 62 + .../bbSlicerMeshContourSegmentation.cxx | 64 + .../GenSrc/bbSlicerMeshContourSegmentation.h | 76 + ModuleCall/GenSrc/bbSlicerModelMaker.cxx | 72 + ModuleCall/GenSrc/bbSlicerModelMaker.h | 92 + .../GenSrc/bbSlicerMultiplemodelsexample.cxx | 58 + .../GenSrc/bbSlicerMultiplemodelsexample.h | 64 + ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx | 58 + ModuleCall/GenSrc/bbSlicerMultiplyImages.h | 64 + .../GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx | 66 + .../GenSrc/bbSlicerN4ITKMRIBiascorrection.h | 80 + ModuleCall/GenSrc/bbSlicerOrientImages.cxx | 57 + ModuleCall/GenSrc/bbSlicerOrientImages.h | 62 + ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx | 59 + ModuleCall/GenSrc/bbSlicerOtsuThreshold.h | 66 + .../bbSlicerOtsuThresholdSegmentation.cxx | 60 + .../bbSlicerOtsuThresholdSegmentation.h | 68 + .../GenSrc/bbSlicerPolyDataToLabelMap.cxx | 58 + .../GenSrc/bbSlicerPolyDataToLabelMap.h | 64 + .../GenSrc/bbSlicerResampleDTIVolume.cxx | 80 + ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h | 108 + .../GenSrc/bbSlicerResampleImageBRAINS.cxx | 65 + .../GenSrc/bbSlicerResampleImageBRAINS.h | 78 + .../GenSrc/bbSlicerResampleScalarVolume.cxx | 58 + .../GenSrc/bbSlicerResampleScalarVolume.h | 64 + .../GenSrc/bbSlicerRicianLMMSEImageFilter.cxx | 65 + .../GenSrc/bbSlicerRicianLMMSEImageFilter.h | 78 + ...obustMultiresolutionAffineRegistration.cxx | 65 + ...rRobustMultiresolutionAffineRegistration.h | 78 + .../bbSlicerRobustStatisticsSegmentation.cxx | 62 + .../bbSlicerRobustStatisticsSegmentation.h | 72 + ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx | 56 + ModuleCall/GenSrc/bbSlicerSimpleIOTest.h | 60 + .../GenSrc/bbSlicerSimpleregiongrowing.cxx | 63 + .../GenSrc/bbSlicerSimpleregiongrowing.h | 74 + ModuleCall/GenSrc/bbSlicerSubtractImages.cxx | 58 + ModuleCall/GenSrc/bbSlicerSubtractImages.h | 64 + .../bbSlicerTestGridTransformregistration.cxx | 58 + .../bbSlicerTestGridTransformregistration.h | 64 + ModuleCall/GenSrc/bbSlicerThresholdImage.cxx | 61 + ModuleCall/GenSrc/bbSlicerThresholdImage.h | 70 + ...licerUnbiasedNonLocalMeansfilterforDWI.cxx | 61 + ...bSlicerUnbiasedNonLocalMeansfilterforDWI.h | 70 + .../bbSlicerVectorDemonRegistrationBRAINS.cxx | 95 + .../bbSlicerVectorDemonRegistrationBRAINS.h | 138 + .../bbSlicerVotingBinaryHoleFilling.cxx | 60 + .../GenSrc/bbSlicerVotingBinaryHoleFilling.h | 68 + ModuleCall/build/Debug/GNU-Linux-x86/main.o | Bin 0 -> 47144 bytes ModuleCall/build/Debug/GNU-Linux-x86/main.o.d | 1 + ModuleCall/build/Release/GNU-Linux-x86/main.o | Bin 0 -> 7328 bytes .../build/Release/GNU-Linux-x86/main.o.d | 1 + .../dist/Debug/GNU-Linux-x86/modulecall | Bin 0 -> 204079 bytes .../dist/Release/GNU-Linux-x86/modulecall | Bin 0 -> 204079 bytes ModuleCall/interoperating_Baby | Bin 220128 -> 409857 bytes ModuleCall/main.cpp | 247 +- ModuleCall/nbproject/Makefile-Debug.mk | 89 + ModuleCall/nbproject/Makefile-Release.mk | 89 + ModuleCall/nbproject/Makefile-impl.mk | 133 + ModuleCall/nbproject/Makefile-variables.mk | 35 + ModuleCall/nbproject/Package-Debug.bash | 75 + ModuleCall/nbproject/Package-Release.bash | 75 + ModuleCall/nbproject/configurations.xml | 66 + .../nbproject/private/Makefile-variables.mk | 7 + .../nbproject/private/configurations.xml | 72 + ModuleCall/nbproject/private/private.xml | 8 + ModuleCall/nbproject/project.xml | 25 + bbtk_Slicer_PKG/src/CreationTool.cxx | 309 +- bbtk_Slicer_PKG/src/CreationTool.h | 32 +- bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx | 58 + bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h | 64 + bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx | 8 +- .../src/bbSlicerBSplinetodeformationfield.cxx | 6 +- bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx | 57 + bbtk_Slicer_PKG/src/bbSlicerCastImage.h | 62 + .../src/bbSlicerCheckerBoardFilter.cxx | 58 + .../src/bbSlicerCheckerBoardFilter.h | 64 + .../src/bbSlicerCommandLineModuleTest.cxx | 8 +- .../src/bbSlicerCreateaDICOMSeries.cxx | 40 +- .../bbSlicerCurvatureAnisotropicDiffusion.cxx | 59 + .../bbSlicerCurvatureAnisotropicDiffusion.h | 66 + .../src/bbSlicerDemonRegistrationBRAINS.cxx | 94 + .../src/bbSlicerDemonRegistrationBRAINS.h | 136 + .../src/bbSlicerDicomtoNrrdConverter.cxx | 14 +- .../src/bbSlicerExecutionModelTour.cxx | 82 + .../src/bbSlicerExecutionModelTour.h | 112 + .../bbSlicerExpertAutomatedRegistration.cxx | 82 + .../src/bbSlicerExpertAutomatedRegistration.h | 112 + .../src/bbSlicerExtractSkeleton.cxx | 12 +- .../src/bbSlicerFastAffineregistration.cxx | 65 + .../src/bbSlicerFastAffineregistration.h | 78 + ...bSlicerFastNonrigidBSplineregistration.cxx | 26 +- .../src/bbSlicerFastRigidregistration.cxx | 67 + .../src/bbSlicerFastRigidregistration.h | 82 + .../src/bbSlicerFiducialRegistration.cxx | 58 + .../src/bbSlicerFiducialRegistration.h | 64 + .../src/bbSlicerForegroundmaskingBRAINS.cxx | 63 + .../src/bbSlicerForegroundmaskingBRAINS.h | 74 + bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx | 6 +- .../src/bbSlicerGeneralRegistrationBRAINS.cxx | 114 + .../src/bbSlicerGeneralRegistrationBRAINS.h | 176 + .../bbSlicerGradientAnisotropicDiffusion.cxx | 59 + .../bbSlicerGradientAnisotropicDiffusion.h | 66 + .../src/bbSlicerGrayscaleFillHole.cxx | 56 + .../src/bbSlicerGrayscaleFillHole.h | 60 + .../src/bbSlicerGrayscaleGrindPeak.cxx | 56 + .../src/bbSlicerGrayscaleGrindPeak.h | 60 + .../src/bbSlicerHistogramMatching.cxx | 60 + .../src/bbSlicerHistogramMatching.h | 68 + .../src/bbSlicerImageLabelCombine.cxx | 8 +- .../bbSlicerJointRicianLMMSEImageFilter.cxx | 59 + .../src/bbSlicerJointRicianLMMSEImageFilter.h | 66 + .../src/bbSlicerLabelMapSmoothing.cxx | 12 +- .../src/bbSlicerLinearregistration.cxx | 66 + .../src/bbSlicerLinearregistration.h | 80 + .../src/bbSlicerMRIBiasFieldCorrection.cxx | 20 +- .../src/bbSlicerMRIBiasFieldCorrection.h | 4 +- bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx | 10 +- bbtk_Slicer_PKG/src/bbSlicerMaskImage.h | 2 +- bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx | 57 + bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h | 62 + bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx | 6 +- bbtk_Slicer_PKG/src/bbSlicerMergeModels.h | 2 +- .../src/bbSlicerMeshContourSegmentation.cxx | 64 + .../src/bbSlicerMeshContourSegmentation.h | 76 + bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx | 72 + bbtk_Slicer_PKG/src/bbSlicerModelMaker.h | 92 + .../src/bbSlicerMultiplemodelsexample.cxx | 58 + .../src/bbSlicerMultiplemodelsexample.h | 64 + .../src/bbSlicerMultiplyImages.cxx | 8 +- .../src/bbSlicerN4ITKMRIBiascorrection.cxx | 66 + .../src/bbSlicerN4ITKMRIBiascorrection.h | 80 + bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx | 6 +- bbtk_Slicer_PKG/src/bbSlicerOrientImages.h | 2 +- bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx | 59 + bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h | 66 + .../src/bbSlicerOtsuThresholdSegmentation.cxx | 12 +- .../src/bbSlicerOtsuThresholdSegmentation.h | 2 +- .../src/bbSlicerPolyDataToLabelMap.cxx | 8 +- .../src/bbSlicerResampleDTIVolume.cxx | 80 + .../src/bbSlicerResampleDTIVolume.h | 108 + .../src/bbSlicerResampleImageBRAINS.cxx | 65 + .../src/bbSlicerResampleImageBRAINS.h | 78 + .../src/bbSlicerResampleScalarVolume.cxx | 58 + .../src/bbSlicerResampleScalarVolume.h | 64 + .../src/bbSlicerRicianLMMSEImageFilter.cxx | 65 + .../src/bbSlicerRicianLMMSEImageFilter.h | 78 + ...obustMultiresolutionAffineRegistration.cxx | 65 + ...rRobustMultiresolutionAffineRegistration.h | 78 + .../bbSlicerRobustStatisticsSegmentation.cxx | 16 +- bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx | 4 +- .../src/bbSlicerSimpleregiongrowing.cxx | 63 + .../src/bbSlicerSimpleregiongrowing.h | 74 + .../src/bbSlicerSubtractImages.cxx | 8 +- .../bbSlicerTestGridTransformregistration.cxx | 8 +- .../src/bbSlicerThresholdImage.cxx | 14 +- bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h | 4 +- ...licerUnbiasedNonLocalMeansfilterforDWI.cxx | 61 + ...bSlicerUnbiasedNonLocalMeansfilterforDWI.h | 70 + .../bbSlicerVectorDemonRegistrationBRAINS.cxx | 95 + .../bbSlicerVectorDemonRegistrationBRAINS.h | 138 + .../src/bbSlicerVotingBinaryHoleFilling.cxx | 60 + .../src/bbSlicerVotingBinaryHoleFilling.h | 68 + 264 files changed, 20665 insertions(+), 291 deletions(-) create mode 100644 ModuleCall/CMakeFiles/CMakeCCompiler.cmake create mode 100644 ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake create mode 100755 ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_C.bin create mode 100755 ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin create mode 100644 ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 ModuleCall/CMakeFiles/CMakeError.log create mode 100644 ModuleCall/CMakeFiles/CMakeOutput.log create mode 100644 ModuleCall/CMakeFiles/CMakeSystem.cmake create mode 100644 ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c create mode 100755 ModuleCall/CMakeFiles/CompilerIdC/a.out create mode 100644 ModuleCall/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 ModuleCall/CMakeFiles/CompilerIdCXX/a.out create mode 100644 ModuleCall/CMakeFiles/Makefile.cmake create mode 100644 ModuleCall/CMakeFiles/Makefile2 create mode 100644 ModuleCall/CMakeFiles/TargetDirectories.txt create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/build.make create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/depend.internal create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/depend.make create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/flags.make create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/link.txt create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/progress.make create mode 100644 ModuleCall/CMakeFiles/cmake.check_cache create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/build.make create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/progress.make create mode 100644 ModuleCall/CMakeFiles/progress.marks create mode 100644 ModuleCall/GenSrc/bbSlicerACPCTransform.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerACPCTransform.h create mode 100644 ModuleCall/GenSrc/bbSlicerAddImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerAddImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.h create mode 100644 ModuleCall/GenSrc/bbSlicerCastImage.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCastImage.h create mode 100644 ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.h create mode 100644 ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.h create mode 100644 ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.h create mode 100644 ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.h create mode 100644 ModuleCall/GenSrc/bbSlicerExecutionModelTour.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerExecutionModelTour.h create mode 100644 ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerExtractSkeleton.h create mode 100644 ModuleCall/GenSrc/bbSlicerFastAffineregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFastAffineregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerFastRigidregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFastRigidregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerFiducialRegistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFiducialRegistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGaussianBlur.h create mode 100644 ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.h create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.h create mode 100644 ModuleCall/GenSrc/bbSlicerHistogramMatching.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerHistogramMatching.h create mode 100644 ModuleCall/GenSrc/bbSlicerImageLabelCombine.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerImageLabelCombine.h create mode 100644 ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h create mode 100644 ModuleCall/GenSrc/bbSlicerLinearregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerLinearregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.h create mode 100644 ModuleCall/GenSrc/bbSlicerMaskImage.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMaskImage.h create mode 100644 ModuleCall/GenSrc/bbSlicerMedianFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMedianFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerMergeModels.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMergeModels.h create mode 100644 ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.h create mode 100644 ModuleCall/GenSrc/bbSlicerModelMaker.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerModelMaker.h create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.h create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplyImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.h create mode 100644 ModuleCall/GenSrc/bbSlicerOrientImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerOrientImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThreshold.h create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.h create mode 100644 ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.h create mode 100644 ModuleCall/GenSrc/bbSlicerResampleDTIVolume.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h create mode 100644 ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerResampleScalarVolume.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerResampleScalarVolume.h create mode 100644 ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.h create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleIOTest.h create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.h create mode 100644 ModuleCall/GenSrc/bbSlicerSubtractImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerSubtractImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerThresholdImage.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerThresholdImage.h create mode 100644 ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h create mode 100644 ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.h create mode 100644 ModuleCall/build/Debug/GNU-Linux-x86/main.o create mode 100644 ModuleCall/build/Debug/GNU-Linux-x86/main.o.d create mode 100644 ModuleCall/build/Release/GNU-Linux-x86/main.o create mode 100644 ModuleCall/build/Release/GNU-Linux-x86/main.o.d create mode 100755 ModuleCall/dist/Debug/GNU-Linux-x86/modulecall create mode 100755 ModuleCall/dist/Release/GNU-Linux-x86/modulecall create mode 100644 ModuleCall/nbproject/Makefile-Debug.mk create mode 100644 ModuleCall/nbproject/Makefile-Release.mk create mode 100644 ModuleCall/nbproject/Makefile-impl.mk create mode 100644 ModuleCall/nbproject/Makefile-variables.mk create mode 100644 ModuleCall/nbproject/Package-Debug.bash create mode 100644 ModuleCall/nbproject/Package-Release.bash create mode 100644 ModuleCall/nbproject/configurations.xml create mode 100644 ModuleCall/nbproject/private/Makefile-variables.mk create mode 100644 ModuleCall/nbproject/private/configurations.xml create mode 100644 ModuleCall/nbproject/private/private.xml create mode 100644 ModuleCall/nbproject/project.xml create mode 100644 bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCastImage.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerModelMaker.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.h diff --git a/ModuleCall/CMakeFiles/CMakeCCompiler.cmake b/ModuleCall/CMakeFiles/CMakeCCompiler.cmake new file mode 100644 index 0000000..6e7f18c --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeCCompiler.cmake @@ -0,0 +1,49 @@ +SET(CMAKE_C_COMPILER "/usr/bin/gcc") +SET(CMAKE_C_COMPILER_ARG1 "") +SET(CMAKE_C_COMPILER_ID "GNU") +SET(CMAKE_C_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCC 1) +SET(CMAKE_C_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_C_COMPILER_ENV_VAR "CC") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_C_COMPILER_ID_RUN 1) +SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) +SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +SET(CMAKE_C_SIZEOF_DATA_PTR "8") +SET(CMAKE_C_COMPILER_ABI "ELF") +SET(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +IF(CMAKE_C_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_C_SIZEOF_DATA_PTR) + +IF(CMAKE_C_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +ENDIF(CMAKE_C_COMPILER_ABI) + +IF(CMAKE_C_LIBRARY_ARCHITECTURE) + SET(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +ENDIF() + +SET(CMAKE_C_HAS_ISYSROOT "") + + +SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") +SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu") diff --git a/ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake b/ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..d1ebf4c --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake @@ -0,0 +1,50 @@ +SET(CMAKE_CXX_COMPILER "/usr/bin/c++") +SET(CMAKE_CXX_COMPILER_ARG1 "") +SET(CMAKE_CXX_COMPILER_ID "GNU") +SET(CMAKE_CXX_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCXX 1) +SET(CMAKE_CXX_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_CXX_COMPILER_ID_RUN 1) +SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +SET(CMAKE_CXX_LINKER_PREFERENCE 30) +SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +SET(CMAKE_CXX_SIZEOF_DATA_PTR "8") +SET(CMAKE_CXX_COMPILER_ABI "ELF") +SET(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +IF(CMAKE_CXX_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) + +IF(CMAKE_CXX_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +ENDIF(CMAKE_CXX_COMPILER_ABI) + +IF(CMAKE_CXX_LIBRARY_ARCHITECTURE) + SET(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +ENDIF() + +SET(CMAKE_CXX_HAS_ISYSROOT "") + + +SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") +SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu") diff --git a/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..985d31fb25bea0d176f5b78a121375954fb29ef5 GIT binary patch literal 8413 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 literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..9a4216d3e61f8aa2b8820470e41d9ee715a642f5 GIT binary patch literal 8426 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 literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake b/ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..ba160df --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,56 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/riveros/NetBeansProjects/ModuleCall") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/riveros/NetBeansProjects/ModuleCall") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/tclap/include" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review/Statistics" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/gdcm/src" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/gdcm" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/core" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/vcl" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/v3p/netlib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/core" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/vcl" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/v3p/netlib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/itkExtHdrs" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/znzlib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/niftilib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/expat" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/expat" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/DICOMParser" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/DICOMParser" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/NrrdIO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/NrrdIO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/MetaIO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/SpatialObject" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/NeuralNetworks" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/FEM" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/IO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Common" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/BasicFilters" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Algorithms" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_ASM_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/ModuleCall/CMakeFiles/CMakeError.log b/ModuleCall/CMakeFiles/CMakeError.log new file mode 100644 index 0000000..1cee090 --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeError.log @@ -0,0 +1,84 @@ +Determining if the Q_WS_WIN exist failed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main()’: +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:25: error: ‘Q_WS_WIN’ was not declared in this scope +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o] Error 1 +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_WIN + cmakeRequireSymbol(0,&Q_WS_WIN); +#endif + return 0; +} + +Determining if the Q_WS_QWS exist failed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main()’: +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:25: error: ‘Q_WS_QWS’ was not declared in this scope +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o] Error 1 +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_QWS + cmakeRequireSymbol(0,&Q_WS_QWS); +#endif + return 0; +} + +Determining if the Q_WS_MAC exist failed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main()’: +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:25: error: ‘Q_WS_MAC’ was not declared in this scope +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o] Error 1 +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_MAC + cmakeRequireSymbol(0,&Q_WS_MAC); +#endif + return 0; +} + diff --git a/ModuleCall/CMakeFiles/CMakeOutput.log b/ModuleCall/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..122ff3b --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeOutput.log @@ -0,0 +1,5004 @@ +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the Q_WS_X11 exist passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_X11 + cmakeRequireSymbol(0,&Q_WS_X11); +#endif + return 0; +} + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + diff --git a/ModuleCall/CMakeFiles/CMakeSystem.cmake b/ModuleCall/CMakeFiles/CMakeSystem.cmake new file mode 100644 index 0000000..0a0d257 --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeSystem.cmake @@ -0,0 +1,15 @@ + + +SET(CMAKE_SYSTEM "Linux-2.6.38-13-generic") +SET(CMAKE_SYSTEM_NAME "Linux") +SET(CMAKE_SYSTEM_VERSION "2.6.38-13-generic") +SET(CMAKE_SYSTEM_PROCESSOR "x86_64") + +SET(CMAKE_HOST_SYSTEM "Linux-2.6.38-13-generic") +SET(CMAKE_HOST_SYSTEM_NAME "Linux") +SET(CMAKE_HOST_SYSTEM_VERSION "2.6.38-13-generic") +SET(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + +SET(CMAKE_CROSSCOMPILING "FALSE") + +SET(CMAKE_SYSTEM_LOADED 1) diff --git a/ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..936ae30 --- /dev/null +++ b/ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,232 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__clang__) +# define COMPILER_ID "Clang" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMC__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMC__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI_DSP" + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +/* IAR Systems compiler for embedded systems. + http://www.iar.com + Not supported yet by CMake +#elif defined(__IAR_SYSTEMS_ICC__) +# define COMPILER_ID "IAR" */ + +/* sdcc, the small devices C compiler for embedded systems, + http://sdcc.sourceforge.net */ +#elif defined(SDCC) +# define COMPILER_ID "SDCC" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; + (void)argv; + return require; +} +#endif diff --git a/ModuleCall/CMakeFiles/CompilerIdC/a.out b/ModuleCall/CMakeFiles/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..ec7d2391546b8dbbc05c857d737d9eb725e040cc GIT binary patch literal 8472 zcmeHMU2Ggz6+W}$O*Zjw(uBB8i&wCb9H=Kw6o*ZqXr1-XY_o9^$AMBOos4(Z_O|;I z&CC|33Zm80iq(>0BpxCVg2xD6DuF_ziq;{eR(L=`P+>%c+^UgG zB8@!EYHxD$+nY{`A1ou}M=MF@VG?f37Nog0UT zQqxl}g%hAoUy2Gb{j0hJ%)RP3&c7!o(Uw{Z|Fu2}>hn`}$hj&^P5N<6tzJ8d1)qHc z8lnK@11~3KA~IGcVa3f02X zNZC7MzWsXmm-SJQ(A@Bq%cG;CN^{$HL=)7?BQLFs0-#-c<3-e=Z;@Bkrju~RnZ0s( zQutK;*1TFR&rbK=6-8>B57bAY);q7BQ_t3gnlC`}D^pVMUA4A(-%1(Vm(8g4-bEV> zwVIF3q^m}3Rz2JCek2O%v)krTRP(X9bk&aCNLSCq?x@w{v8!rjKAzrwt-JbBs(M?! z^pTvZ{$=iq3yz~c|DOHe&cETfrK=yLtG9cq|Lk@)y{T3%OX}Y1=DTX`cr2pU^0Ah5 z&4{(8Yx!6-U9)5D>DrlCr&@U}e!02rS#0V1KHm`D_^7q;W05GRl{=1o|H~NGXdJFb zoU3Y0#*Fe!>T!4M=i1OWoLx9KLy#KiJG3uTDxAvYv*vLBz_Amq>Qr90M@wd5IE_o4 zl)9N2A3g!nR{6^qi!h$s3yy=)YIebKaCV<^9Ot`YR6(qFg!IfHNE0p6)`qnajF}kU z@$caU#~Hx_-AygY7eb9|LMIy5MnJ^5uK>Wrg5y*%|H${kFRam;5`C4m-w(YgpREfG zHbva}4YKWDPpeqPDps+IRjlHFheO~Rf@ubS62u&Rhx4}qm&bDm0>8r%TS!ijeb%3(G@qN8 zzmCdtdckqqlc4errMX{jP&!We|1a=)HHcSM@S}mwooys{lk86>_eI-}jg*Uac}F@| z)Xh?Kx6-BT>WG(xa`$#O4WL-33${K2ie;Ow9OqxTqMbEQfl@5lS*3e_s>9aDC^c3r zDoDGVd zov=X}%@uQ?m?cBEbx^Y7+Nh})vf8*|-b;a!u}h`}is6bUGo~=E7jhX;#!9yM=hp4k zGh$hwWJ-lXwrB^t`BP&nofmn&^1TS(m+-v^gXb6H^E9WK&-V^|9}zqw^F0D%XMk_h z`m?D*zJFi@`FOu^+i^;4pV#*}Qn3HL-g#Xy1^~p`WIR1E6!#-vHd5SaV1MO!ppZAR) z2Kam*d6oF>+%N+37(WW|dB3?s9Y)uA9@swPXT)bS5sH5iYEW?g1o`I!e7?Wqd%cfa zKNkZ0ak4*7_Rp}R1Rg)e6!EFMyn9Z*=L_~%kUt&Z;|&fXP967g{67TvczuIVi668V zO#g}I4*Sph7vID3eJjr|=CfaK2JG`a+$>%|`sO=>`7GZG@cH{;j`+NO8O&q(Zh#-5 z`@RS{*v>=(^B6bCM{a*7@jHpn?PLV`x5$1c7a%bI3#=e;{9}pN{cPKh$I0-5UrDz7 zz(Xa=6g$qwch^XhYS&K-|$0*b>4p9hYahzIPZrH^i?_c0kfGIEw|>ZQzqcO!ki{#*Vz}#|5$*=Y9oJVK-1N><4E!#V zmgxsvuhKI8fcucNOh5FB_16f|I`^E#7#8L4`OoX-Nz%tTP7z^(>X{7Gvy%V#-GTmh zQoLvUKI(YfqMoJeZbayp;yDRmgKs_ZcM0y7 zEz9`-6D%KUg%%oj#?OWRKETHwKYmT^!sjG}xRVEfX<@e&qJjDIhOm3n;r)y87L{)g zl)p~;)`0#$R8Jz{=fVp0hePhT;CmNBye$C0dZAw?9%l4>-uDy;8Pm4x^603N0ZmH| z9U9cqsiQ-h2AbBhDD`O4mt~Z+v3zMn&uik?sOjYiz!#N#*3KHrp02Jh0cL19V**oq z!995z= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI_DSP" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + (void)argv; + return require; +} diff --git a/ModuleCall/CMakeFiles/CompilerIdCXX/a.out b/ModuleCall/CMakeFiles/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..aa7d68cce5ff0917796c0f7ab3053548d4a489f4 GIT binary patch literal 8476 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 literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/Makefile.cmake b/ModuleCall/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..ddd8170 --- /dev/null +++ b/ModuleCall/CMakeFiles/Makefile.cmake @@ -0,0 +1,57 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# The generator used is: +SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +SET(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/ITKConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/ITKLibraryDepends.cmake" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/UseITK.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/GenerateCLP.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/GenerateCLPConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/GenerateCLPTargets.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/UseGenerateCLP.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserTargets.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/UseModuleDescriptionParser.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/tclap/TCLAPConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/tclap/UseTCLAP.cmake" + "CMakeFiles/CMakeCCompiler.cmake" + "CMakeFiles/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeSystem.cmake" + "CMakeLists.txt" + "/usr/local/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeImportBuildSettings.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/local/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" + "/usr/local/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" + "/usr/local/share/cmake-2.8/Modules/Compiler/GNU.cmake" + "/usr/local/share/cmake-2.8/Modules/FindITK.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +SET(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +SET(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +SET(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/interoperating_Baby.dir/DependInfo.cmake" + ) diff --git a/ModuleCall/CMakeFiles/Makefile2 b/ModuleCall/CMakeFiles/Makefile2 new file mode 100644 index 0000000..295c27b --- /dev/null +++ b/ModuleCall/CMakeFiles/Makefile2 @@ -0,0 +1,99 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# The main recursive all target +all: +.PHONY : all + +# The main recursive preinstall target +preinstall: +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/bin/cmake + +# The command to remove a file. +RM = /usr/local/bin/cmake -E remove -f + +# The program to use to edit the cache. +CMAKE_EDIT_COMMAND = /usr/local/bin/ccmake + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/riveros/NetBeansProjects/ModuleCall + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/riveros/NetBeansProjects/ModuleCall + +#============================================================================= +# Target rules for target CMakeFiles/interoperating_Baby.dir + +# All Build rule for target. +CMakeFiles/interoperating_Baby.dir/all: + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/depend + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles 1 2 + @echo "Built target interoperating_Baby" +.PHONY : CMakeFiles/interoperating_Baby.dir/all + +# Include target in all. +all: CMakeFiles/interoperating_Baby.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/interoperating_Baby.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/interoperating_Baby.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles 0 +.PHONY : CMakeFiles/interoperating_Baby.dir/rule + +# Convenience name for target. +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/rule +.PHONY : interoperating_Baby + +# clean rule for target. +CMakeFiles/interoperating_Baby.dir/clean: + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/clean +.PHONY : CMakeFiles/interoperating_Baby.dir/clean + +# clean rule for target. +clean: CMakeFiles/interoperating_Baby.dir/clean +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/ModuleCall/CMakeFiles/TargetDirectories.txt b/ModuleCall/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..a75c739 --- /dev/null +++ b/ModuleCall/CMakeFiles/TargetDirectories.txt @@ -0,0 +1 @@ +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/interoperating_Baby.dir diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache b/ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache new file mode 100644 index 0000000..0ec6d03 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache @@ -0,0 +1,16 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/riveros/NetBeansProjects/ModuleCall/main.cpp +cstdlib +- +dlfcn.h +- +iostream +- + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake b/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake new file mode 100644 index 0000000..5adebe9 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake @@ -0,0 +1,26 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +SET(CMAKE_DEPENDS_CHECK_CXX + "/home/riveros/NetBeansProjects/ModuleCall/main.cpp" "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/Tutorial.dir/main.cpp.o" + ) +SET(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "QT_NO_DEBUG" + "QT_SVG_LIB" + "QT_UITOOLS_LIB" + "QT_WEBKIT_LIB" + "QT_GUI_LIB" + "QT_TEST_LIB" + "QT_XML_LIB" + "QT_NETWORK_LIB" + "QT_CORE_LIB" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/build.make b/ModuleCall/CMakeFiles/Tutorial.dir/build.make new file mode 100644 index 0000000..2100b56 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/build.make @@ -0,0 +1,102 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/bin/cmake + +# The command to remove a file. +RM = /usr/local/bin/cmake -E remove -f + +# The program to use to edit the cache. +CMAKE_EDIT_COMMAND = /usr/local/bin/ccmake + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/riveros/NetBeansProjects/ModuleCall + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/riveros/NetBeansProjects/ModuleCall + +# Include any dependencies generated for this target. +include CMakeFiles/Tutorial.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/Tutorial.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/Tutorial.dir/flags.make + +CMakeFiles/Tutorial.dir/main.cpp.o: CMakeFiles/Tutorial.dir/flags.make +CMakeFiles/Tutorial.dir/main.cpp.o: main.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/Tutorial.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/Tutorial.dir/main.cpp.o -c /home/riveros/NetBeansProjects/ModuleCall/main.cpp + +CMakeFiles/Tutorial.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Tutorial.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/riveros/NetBeansProjects/ModuleCall/main.cpp > CMakeFiles/Tutorial.dir/main.cpp.i + +CMakeFiles/Tutorial.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Tutorial.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/riveros/NetBeansProjects/ModuleCall/main.cpp -o CMakeFiles/Tutorial.dir/main.cpp.s + +CMakeFiles/Tutorial.dir/main.cpp.o.requires: +.PHONY : CMakeFiles/Tutorial.dir/main.cpp.o.requires + +CMakeFiles/Tutorial.dir/main.cpp.o.provides: CMakeFiles/Tutorial.dir/main.cpp.o.requires + $(MAKE) -f CMakeFiles/Tutorial.dir/build.make CMakeFiles/Tutorial.dir/main.cpp.o.provides.build +.PHONY : CMakeFiles/Tutorial.dir/main.cpp.o.provides + +CMakeFiles/Tutorial.dir/main.cpp.o.provides.build: CMakeFiles/Tutorial.dir/main.cpp.o + +# Object files for target Tutorial +Tutorial_OBJECTS = \ +"CMakeFiles/Tutorial.dir/main.cpp.o" + +# External object files for target Tutorial +Tutorial_EXTERNAL_OBJECTS = + +Tutorial: CMakeFiles/Tutorial.dir/main.cpp.o +Tutorial: CMakeFiles/Tutorial.dir/build.make +Tutorial: CMakeFiles/Tutorial.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable Tutorial" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Tutorial.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/Tutorial.dir/build: Tutorial +.PHONY : CMakeFiles/Tutorial.dir/build + +CMakeFiles/Tutorial.dir/requires: CMakeFiles/Tutorial.dir/main.cpp.o.requires +.PHONY : CMakeFiles/Tutorial.dir/requires + +CMakeFiles/Tutorial.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Tutorial.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Tutorial.dir/clean + +CMakeFiles/Tutorial.dir/depend: + cd /home/riveros/NetBeansProjects/ModuleCall && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Tutorial.dir/depend + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake b/ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake new file mode 100644 index 0000000..e8f302f --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/Tutorial.dir/main.cpp.o" + "Tutorial.pdb" + "Tutorial" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang CXX) + INCLUDE(CMakeFiles/Tutorial.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/depend.internal b/ModuleCall/CMakeFiles/Tutorial.dir/depend.internal new file mode 100644 index 0000000..5be6c48 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/depend.internal @@ -0,0 +1,5 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/Tutorial.dir/main.cpp.o + /home/riveros/NetBeansProjects/ModuleCall/main.cpp diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/depend.make b/ModuleCall/CMakeFiles/Tutorial.dir/depend.make new file mode 100644 index 0000000..f246db2 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/depend.make @@ -0,0 +1,5 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/Tutorial.dir/main.cpp.o: main.cpp + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/flags.make b/ModuleCall/CMakeFiles/Tutorial.dir/flags.make new file mode 100644 index 0000000..076c072 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -ldl -w -I/usr/include/qt4 -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore + +CXX_DEFINES = -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_TEST_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/link.txt b/ModuleCall/CMakeFiles/Tutorial.dir/link.txt new file mode 100644 index 0000000..1230403 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -ldl -w CMakeFiles/Tutorial.dir/main.cpp.o -o Tutorial -rdynamic diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/progress.make b/ModuleCall/CMakeFiles/Tutorial.dir/progress.make new file mode 100644 index 0000000..781c7de --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 1 + diff --git a/ModuleCall/CMakeFiles/cmake.check_cache b/ModuleCall/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/ModuleCall/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache b/ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache new file mode 100644 index 0000000..fdd5176 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache @@ -0,0 +1,114 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfigure.h + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescription.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +ModuleParameterGroup.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h +ModuleProcessInformation.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h +ModuleLogo.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h +string +- +vector +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParser.h +string +- +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +ModuleDescriptionParserConfigure.h +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionUtilities.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +string +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +string +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +string +- +vector +- +iostream +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +ModuleParameter.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h +vector +- +string +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h +ostream +- +cstring +- +string.h +- + +/home/riveros/NetBeansProjects/ModuleCall/CreationTool.h +string +- +iostream +- +sstream +- + +/home/riveros/NetBeansProjects/ModuleCall/main.cpp +vector +- +cstdlib +- +sstream +- +iostream +- +fstream +- +stdio.h +- +dlfcn.h +- +string.h +- +dirent.h +- +ModuleDescriptionParser.h +- +ModuleParameterGroup.h +- +ModuleDescription.h +- +ModuleParameter.h +- +ModuleDescriptionUtilities.h +- +CreationTool.h +/home/riveros/NetBeansProjects/ModuleCall/CreationTool.h + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o b/ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o new file mode 100644 index 0000000000000000000000000000000000000000..188fa10b6dfe1f939806fb8a5f61fc8a31ce6814 GIT binary patch literal 399064 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 r1J4pla|2ZQT=0?+k=>%IZc CMakeFiles/interoperating_Baby.dir/main.cpp.i + +CMakeFiles/interoperating_Baby.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/interoperating_Baby.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/riveros/NetBeansProjects/ModuleCall/main.cpp -o CMakeFiles/interoperating_Baby.dir/main.cpp.s + +CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires: +.PHONY : CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires + +CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides: CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides.build +.PHONY : CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides + +CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides.build: CMakeFiles/interoperating_Baby.dir/main.cpp.o + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CMakeFiles/interoperating_Baby.dir/flags.make +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CreationTool.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles $(CMAKE_PROGRESS_2) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx > CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.i + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx -o CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.s + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires: +.PHONY : CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides.build +.PHONY : CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides.build: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o + +# Object files for target interoperating_Baby +interoperating_Baby_OBJECTS = \ +"CMakeFiles/interoperating_Baby.dir/main.cpp.o" \ +"CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + +# External object files for target interoperating_Baby +interoperating_Baby_EXTERNAL_OBJECTS = + +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/main.cpp.o +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o +interoperating_Baby: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/bin/libModuleDescriptionParser.so +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/build.make +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable interoperating_Baby" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/interoperating_Baby.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/interoperating_Baby.dir/build: interoperating_Baby +.PHONY : CMakeFiles/interoperating_Baby.dir/build + +CMakeFiles/interoperating_Baby.dir/requires: CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires +CMakeFiles/interoperating_Baby.dir/requires: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires +.PHONY : CMakeFiles/interoperating_Baby.dir/requires + +CMakeFiles/interoperating_Baby.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake +.PHONY : CMakeFiles/interoperating_Baby.dir/clean + +CMakeFiles/interoperating_Baby.dir/depend: + cd /home/riveros/NetBeansProjects/ModuleCall && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/interoperating_Baby.dir/depend + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake b/ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake new file mode 100644 index 0000000..c3a5b13 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/interoperating_Baby.dir/main.cpp.o" + "CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + "interoperating_Baby.pdb" + "interoperating_Baby" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang CXX) + INCLUDE(CMakeFiles/interoperating_Baby.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal new file mode 100644 index 0000000..8740d77 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal @@ -0,0 +1,18 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o + /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx + /home/riveros/NetBeansProjects/ModuleCall/CreationTool.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfigure.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescription.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParser.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionUtilities.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h + /home/riveros/NetBeansProjects/ModuleCall/CreationTool.h + /home/riveros/NetBeansProjects/ModuleCall/main.cpp diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make new file mode 100644 index 0000000..dfb1a8e --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make @@ -0,0 +1,18 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CreationTool.cxx +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CreationTool.h + +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfigure.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescription.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParser.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionUtilities.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: CreationTool.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: main.cpp + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make b/ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make new file mode 100644 index 0000000..89b85b0 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -ldl -w -ftemplate-depth-50 -Wall -Wno-deprecated -msse2 -g -I/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser -I/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser -I/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/tclap/include -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review/Statistics -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/gdcm/src -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/gdcm -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/core -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/vcl -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/v3p/netlib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/core -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/vcl -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/v3p/netlib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/itkExtHdrs -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/znzlib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/niftilib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/expat -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/expat -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/DICOMParser -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/DICOMParser -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/NrrdIO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/NrrdIO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/MetaIO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/SpatialObject -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/NeuralNetworks -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/FEM -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/IO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Common -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/BasicFilters -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Algorithms -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build + +CXX_DEFINES = + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt b/ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt new file mode 100644 index 0000000..52133b6 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -ldl -w -ftemplate-depth-50 -Wall -Wno-deprecated -msse2 -g CMakeFiles/interoperating_Baby.dir/main.cpp.o CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o -o interoperating_Baby -rdynamic -L/home/riveros/.slicer/Slicer4-bin/ITKv3-build/bin /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/bin/libModuleDescriptionParser.so -lITKEXPAT -litksys -ldl -lpthread -Wl,-rpath,/home/riveros/.slicer/Slicer4-bin/ITKv3-build/bin:/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/bin diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o b/ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..400e842831651679d99b6b3105da5728465b57d9 GIT binary patch literal 353184 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 z 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 Yox#ybJzDD6D!%@Y?-?14!8ytQ7v6D?I{*Lx literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/progress.make b/ModuleCall/CMakeFiles/interoperating_Baby.dir/progress.make new file mode 100644 index 0000000..abadeb0 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 + diff --git a/ModuleCall/CMakeFiles/progress.marks b/ModuleCall/CMakeFiles/progress.marks new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/ModuleCall/CMakeFiles/progress.marks @@ -0,0 +1 @@ +2 diff --git a/ModuleCall/CreationTool.cxx b/ModuleCall/CreationTool.cxx index b3c7095..3e79eae 100644 --- a/ModuleCall/CreationTool.cxx +++ b/ModuleCall/CreationTool.cxx @@ -10,73 +10,358 @@ std::string Mthd::Aux::toString ( float n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( double n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( long double n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( char n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned char n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( short n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned short n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( long int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned long n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned long long n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector_of_vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + std::string _vector = std::string ( "" ) ; + for ( long unsigned int j = 0 ; j < v.at ( j ).size ( ) ; j ++ ) { + oss << v.at ( i ).at ( j ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + /// ELEMENTS SPLIT TOKEN /// + _vector += "," ; + } + } + if ( i + 1 < _vector_of_vector.size ( ) ) { + /// VECTOR SPLIT TOKEN /// + _vector_of_vector += _vector + "@@@@@" ; + } + } + return _vector_of_vector ; } std::string Mthd::Aux::toString ( std::string n ) { @@ -86,84 +371,188 @@ std::string Mthd::Aux::toString ( std::string n ) { char* Mthd::Aux::toCharArrray ( float n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( double n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long double n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( char n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned char n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( short n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned short n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long unsigned int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( std::string n ) { - return const_cast < char* > ( n.data( ) ) ; + return const_cast < char* > ( n.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; } std::string Mthd::Aux::replace_str ( std::string input , std::string old_str , std::string new_str ) { - size_t found = input.find( old_str ) ; + size_t found = input.find ( old_str ) ; while ( found != std::string::npos ) { - input.replace( found , old_str.length( ) , new_str ) ; - found = input.find( old_str ) ; + input.replace ( found , old_str.length ( ) , new_str ) ; + found = input.find ( old_str ) ; } return input ; } bool Mthd::Aux::str_ends_with ( std::string total_str , std::string sub_str ) { - size_t found = total_str.find( sub_str ) ; + size_t found = total_str.find ( sub_str ) ; if ( found != std::string::npos ) { return true ; } diff --git a/ModuleCall/CreationTool.h b/ModuleCall/CreationTool.h index 27dcb82..4fdbee9 100644 --- a/ModuleCall/CreationTool.h +++ b/ModuleCall/CreationTool.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace Mthd { @@ -32,6 +33,26 @@ namespace Mthd { static std::string toString ( unsigned long n ) ; static std::string toString ( unsigned long long n ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector > v ) ; + + static std::string toString ( std::vector< std::vector< int > > v ) ; + static std::string toString ( std::vector< std::vector< float > > v ) ; + static std::string toString ( std::vector< std::vector< double > > v ) ; + static std::string toString ( std::vector< std::vector< long int > > v ) ; + static std::string toString ( std::vector< std::vector< long double > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned int > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned long > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned long long > > v ) ; + + static std::string toString ( std::string n ) ; static char* toCharArrray ( float n ) ; @@ -49,10 +70,19 @@ namespace Mthd { static char* toCharArrray ( unsigned int n ) ; static char* toCharArrray ( long unsigned int n ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::string n ) ; static bool str_ends_with ( std::string total_str , std::string sub_str ) ; - static std::string replace_str ( std::string input , std::string old_str , std::string new_str ) ; + static std::string replace_str ( std::string input , std::string old_str , std::string new_str ) ; } ; diff --git a/ModuleCall/GenSrc/bbSlicerACPCTransform.cxx b/ModuleCall/GenSrc/bbSlicerACPCTransform.cxx new file mode 100644 index 0000000..d458ed8 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerACPCTransform.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerACPCTransform.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ACPCTransform ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ACPCTransform, bbtk::AtomicBlackBox ); + + void ACPCTransform::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRealignLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--acpc" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputACPC( ) ) ) ,"@@@@@"," --acpc ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--midline" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMidline( ) ) ) ,"@@@@@"," --midline ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebugSwitch( ) ) ) ,"@@@@@"," -d ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ACPCTransform::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ACPCTransform::bbUserSetDefaultValues ( ) { + } + + void ACPCTransform::bbUserInitializeProcessing ( ) { + } + + void ACPCTransform::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerACPCTransform.h b/ModuleCall/GenSrc/bbSlicerACPCTransform.h new file mode 100644 index 0000000..f5da823 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerACPCTransform.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerACPCTransform_h_INCLUDED__ +#define __bbSlicerACPCTransform_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ACPCTransform + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ACPCTransform , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( ACPC , std::vector > ); +BBTK_DECLARE_INPUT ( Midline , std::vector > ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( debugSwitch , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ACPCTransform , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ACPCTransform" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "pCalculate a transformation from two lists of fiducial points./ppACPC line is two fiducial points, one at the anterior commissure and one at the posterior commissure. The resulting transform will bring the line connecting them to horizontal to the AP axis./ppThe midline is a series of points defining the division between the hemispheres of the brain the mid sagittal plane. The resulting transform will put the output volume with the mid sagittal plane lined up with the AS plane./ppUse the Filtering module bResample Scalar/Vector/DWI Volume/b to apply the transformation to a volume./p" ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ACPCTransform , ACPC , "ACPC" , std::vector >, ""); +BBTK_INPUT(ACPCTransform , Midline , "Midline" , std::vector >, ""); +BBTK_INPUT(ACPCTransform , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(ACPCTransform , debugSwitch , "debugSwitch" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ACPCTransform ) ; +} + +#endif // __bbSlicerACPCTransform_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerAddImages.cxx b/ModuleCall/GenSrc/bbSlicerAddImages.cxx new file mode 100644 index 0000000..ec5f7a5 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerAddImages.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerAddImages.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, AddImages ) + BBTK_BLACK_BOX_IMPLEMENTATION ( AddImages, bbtk::AtomicBlackBox ); + + void AddImages::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libAddLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void AddImages::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void AddImages::bbUserSetDefaultValues ( ) { + } + + void AddImages::bbUserInitializeProcessing ( ) { + } + + void AddImages::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerAddImages.h b/ModuleCall/GenSrc/bbSlicerAddImages.h new file mode 100644 index 0000000..6cd6801 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerAddImages.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerAddImages_h_INCLUDED__ +#define __bbSlicerAddImages_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT AddImages + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( AddImages , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( inputVolume2 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( order , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( AddImages , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "AddImages" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Adds two images. Although all image types are supported on input, only signed types are produced. The two images do not have to have the same dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(AddImages , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(AddImages , inputVolume2 , "inputVolume2" , std::string, ""); +BBTK_INPUT(AddImages , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(AddImages , order , "order" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( AddImages ) ; +} + +#endif // __bbSlicerAddImages_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.cxx b/ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.cxx new file mode 100644 index 0000000..9ed73da --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerBSplinetodeformationfield.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, BSplinetodeformationfield ) + BBTK_BLACK_BOX_IMPLEMENTATION ( BSplinetodeformationfield, bbtk::AtomicBlackBox ); + + void BSplinetodeformationfield::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineToDeformationFieldLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--tfm" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputTransformName( ) ) ) ,"@@@@@"," --tfm ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--refImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceImageName( ) ) ) ,"@@@@@"," --refImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeformationFieldName( ) ) ) ,"@@@@@"," --defImage ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void BSplinetodeformationfield::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void BSplinetodeformationfield::bbUserSetDefaultValues ( ) { + } + + void BSplinetodeformationfield::bbUserInitializeProcessing ( ) { + } + + void BSplinetodeformationfield::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.h b/ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.h new file mode 100644 index 0000000..4815d58 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerBSplinetodeformationfield_h_INCLUDED__ +#define __bbSlicerBSplinetodeformationfield_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT BSplinetodeformationfield + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( BSplinetodeformationfield , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputTransformName , std::string ); +BBTK_DECLARE_INPUT ( referenceImageName , std::string ); +BBTK_DECLARE_INPUT ( deformationFieldName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( BSplinetodeformationfield , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "BSplinetodeformationfield" ) ; + BBTK_AUTHOR ( "Andrey Fedorov, BWH" ) ; + BBTK_DESCRIPTION ( "Create a dense deformation field from a bspline+bulk transform." ) ; + BBTK_CATEGORY ( "Legacy.Converters" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(BSplinetodeformationfield , inputTransformName , "inputTransformName" , std::string, ""); +BBTK_INPUT(BSplinetodeformationfield , referenceImageName , "referenceImageName" , std::string, ""); +BBTK_INPUT(BSplinetodeformationfield , deformationFieldName , "deformationFieldName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( BSplinetodeformationfield ) ; +} + +#endif // __bbSlicerBSplinetodeformationfield_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerCastImage.cxx b/ModuleCall/GenSrc/bbSlicerCastImage.cxx new file mode 100644 index 0000000..8715b97 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCastImage.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerCastImage.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CastImage ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CastImage, bbtk::AtomicBlackBox ); + + void CastImage::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCastLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputType( ) ) ) ,"@@@@@"," -t ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CastImage::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CastImage::bbUserSetDefaultValues ( ) { + } + + void CastImage::bbUserInitializeProcessing ( ) { + } + + void CastImage::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerCastImage.h b/ModuleCall/GenSrc/bbSlicerCastImage.h new file mode 100644 index 0000000..ba1237a --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCastImage.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerCastImage_h_INCLUDED__ +#define __bbSlicerCastImage_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CastImage + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CastImage , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); +BBTK_DECLARE_INPUT ( Type , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CastImage , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CastImage" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "Cast a volume to a given data type.Use at your own risk when casting an input volume into a lower precision type!Allows casting to the same type as the input volume." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CastImage , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(CastImage , OutputVolume , "OutputVolume" , std::string, ""); +BBTK_INPUT(CastImage , Type , "Type" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CastImage ) ; +} + +#endif // __bbSlicerCastImage_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.cxx b/ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.cxx new file mode 100644 index 0000000..3201891 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerCheckerBoardFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CheckerBoardFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CheckerBoardFilter, bbtk::AtomicBlackBox ); + + void CheckerBoardFilter::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCheckerBoardLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerPattern" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerPattern( ) ) ) ,"@@@@@"," --checkerPattern ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CheckerBoardFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CheckerBoardFilter::bbUserSetDefaultValues ( ) { + } + + void CheckerBoardFilter::bbUserInitializeProcessing ( ) { + } + + void CheckerBoardFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.h b/ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.h new file mode 100644 index 0000000..7bd4a22 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerCheckerBoardFilter_h_INCLUDED__ +#define __bbSlicerCheckerBoardFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CheckerBoardFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CheckerBoardFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( checkerPattern , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( inputVolume2 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CheckerBoardFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CheckerBoardFilter" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Create a checkerboard volume of two volumes. The output volume will show the two inputs alternating according to the user supplied checkerPattern. This filter is often used to compare the results of image registration. Note that the second input is resampled to the same origin, spacing and direction before it is composed with the first input. The scalar type of the output volume will be the same as the input image scalar type." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CheckerBoardFilter , checkerPattern , "checkerPattern" , std::vector, ""); +BBTK_INPUT(CheckerBoardFilter , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(CheckerBoardFilter , inputVolume2 , "inputVolume2" , std::string, ""); +BBTK_INPUT(CheckerBoardFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CheckerBoardFilter ) ; +} + +#endif // __bbSlicerCheckerBoardFilter_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.cxx b/ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.cxx new file mode 100644 index 0000000..4b63cfb --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerCommandLineModuleTest.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CommandLineModuleTest ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CommandLineModuleTest, bbtk::AtomicBlackBox ); + + void CommandLineModuleTest::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCLIModule4TestLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputValue1( ) ) ) ,"@@@@@"," --inputvalue1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputValue2( ) ) ) ,"@@@@@"," --inputvalue2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--operationtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOperationType( ) ) ) ,"@@@@@"," --operationtype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputFile( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CommandLineModuleTest::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CommandLineModuleTest::bbUserSetDefaultValues ( ) { + } + + void CommandLineModuleTest::bbUserInitializeProcessing ( ) { + } + + void CommandLineModuleTest::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.h b/ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.h new file mode 100644 index 0000000..d8c2809 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerCommandLineModuleTest_h_INCLUDED__ +#define __bbSlicerCommandLineModuleTest_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CommandLineModuleTest + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CommandLineModuleTest , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputValue1 , int ); +BBTK_DECLARE_INPUT ( InputValue2 , int ); +BBTK_DECLARE_INPUT ( OperationType , std::string ); +BBTK_DECLARE_INPUT ( OutputFile , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CommandLineModuleTest , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CommandLineModuleTest" ) ; + BBTK_AUTHOR ( "Jean-Christophe Fillion-Robin" ) ; + BBTK_DESCRIPTION ( "Command line module used to test the automatic UI generator." ) ; + BBTK_CATEGORY ( "Testing" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CommandLineModuleTest , InputValue1 , "InputValue1" , int, ""); +BBTK_INPUT(CommandLineModuleTest , InputValue2 , "InputValue2" , int, ""); +BBTK_INPUT(CommandLineModuleTest , OperationType , "OperationType" , std::string, ""); +BBTK_INPUT(CommandLineModuleTest , OutputFile , "OutputFile" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CommandLineModuleTest ) ; +} + +#endif // __bbSlicerCommandLineModuleTest_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.cxx b/ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.cxx new file mode 100644 index 0000000..a51004b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.cxx @@ -0,0 +1,74 @@ +#include "bbSlicerCreateaDICOMSeries.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CreateaDICOMSeries ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CreateaDICOMSeries, bbtk::AtomicBlackBox ); + + void CreateaDICOMSeries::Process ( ) { + + // GENERATED + +int _argc =20; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libImageReadDicomWriteLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientName" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientName( ) ) ) ,"@@@@@"," --patientName ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientID" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientID( ) ) ) ,"@@@@@"," --patientID ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientComments" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientComments( ) ) ) ,"@@@@@"," --patientComments ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyID" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyID( ) ) ) ,"@@@@@"," --studyID ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDate" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyDate( ) ) ) ,"@@@@@"," --studyDate ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyComments" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyComments( ) ) ) ,"@@@@@"," --studyComments ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDescription" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyDescription( ) ) ) ,"@@@@@"," --studyDescription ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modality" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmodality( ) ) ) ,"@@@@@"," --modality ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--manufacturer" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmanufacturer( ) ) ) ,"@@@@@"," --manufacturer ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--model" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmodel( ) ) ) ,"@@@@@"," --model ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesNumber" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseriesNumber( ) ) ) ,"@@@@@"," --seriesNumber ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesDescription" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseriesDescription( ) ) ) ,"@@@@@"," --seriesDescription ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleIntercept" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrescaleIntercept( ) ) ) ,"@@@@@"," --rescaleIntercept ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleSlope" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrescaleSlope( ) ) ) ,"@@@@@"," --rescaleSlope ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomDirectory( ) ) ) ,"@@@@@"," --dicomDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomPrefix( ) ) ) ,"@@@@@"," --dicomPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomNumberFormat" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomNumberFormat( ) ) ) ,"@@@@@"," --dicomNumberFormat ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reverseImages" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreverseImages( ) ) ) ,"@@@@@"," --reverseImages ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCompression" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCompression( ) ) ) ,"@@@@@"," --useCompression ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CreateaDICOMSeries::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CreateaDICOMSeries::bbUserSetDefaultValues ( ) { + } + + void CreateaDICOMSeries::bbUserInitializeProcessing ( ) { + } + + void CreateaDICOMSeries::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.h b/ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.h new file mode 100644 index 0000000..a7f3d19 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.h @@ -0,0 +1,96 @@ +#ifndef __bbSlicerCreateaDICOMSeries_h_INCLUDED__ +#define __bbSlicerCreateaDICOMSeries_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CreateaDICOMSeries + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CreateaDICOMSeries , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( patientName , std::string ); +BBTK_DECLARE_INPUT ( patientID , std::string ); +BBTK_DECLARE_INPUT ( patientComments , std::string ); +BBTK_DECLARE_INPUT ( studyID , std::string ); +BBTK_DECLARE_INPUT ( studyDate , std::string ); +BBTK_DECLARE_INPUT ( studyComments , std::string ); +BBTK_DECLARE_INPUT ( studyDescription , std::string ); +BBTK_DECLARE_INPUT ( modality , std::string ); +BBTK_DECLARE_INPUT ( manufacturer , std::string ); +BBTK_DECLARE_INPUT ( model , std::string ); +BBTK_DECLARE_INPUT ( seriesNumber , std::string ); +BBTK_DECLARE_INPUT ( seriesDescription , std::string ); +BBTK_DECLARE_INPUT ( rescaleIntercept , double ); +BBTK_DECLARE_INPUT ( rescaleSlope , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( dicomDirectory , std::string ); +BBTK_DECLARE_INPUT ( dicomPrefix , std::string ); +BBTK_DECLARE_INPUT ( dicomNumberFormat , std::string ); +BBTK_DECLARE_INPUT ( reverseImages , bool ); +BBTK_DECLARE_INPUT ( useCompression , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CreateaDICOMSeries , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CreateaDICOMSeries" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Create a DICOM Series from a Slicer volume. User can specify values for selected DICOM tags in the UI. Given the number of tags DICOM series have, it is impossible to expose all tags in UI. So only important tags can be set by the user." ) ; + BBTK_CATEGORY ( "Converters" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CreateaDICOMSeries , patientName , "patientName" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , patientID , "patientID" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , patientComments , "patientComments" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , studyID , "studyID" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , studyDate , "studyDate" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , studyComments , "studyComments" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , studyDescription , "studyDescription" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , modality , "modality" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , manufacturer , "manufacturer" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , model , "model" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , seriesNumber , "seriesNumber" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , seriesDescription , "seriesDescription" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , rescaleIntercept , "rescaleIntercept" , double, ""); +BBTK_INPUT(CreateaDICOMSeries , rescaleSlope , "rescaleSlope" , double, ""); +BBTK_INPUT(CreateaDICOMSeries , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , dicomDirectory , "dicomDirectory" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , dicomPrefix , "dicomPrefix" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , dicomNumberFormat , "dicomNumberFormat" , std::string, ""); +BBTK_INPUT(CreateaDICOMSeries , reverseImages , "reverseImages" , bool, ""); +BBTK_INPUT(CreateaDICOMSeries , useCompression , "useCompression" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CreateaDICOMSeries ) ; +} + +#endif // __bbSlicerCreateaDICOMSeries_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.cxx b/ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.cxx new file mode 100644 index 0000000..a356744 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerCurvatureAnisotropicDiffusion.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CurvatureAnisotropicDiffusion ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CurvatureAnisotropicDiffusion, bbtk::AtomicBlackBox ); + + void CurvatureAnisotropicDiffusion::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCurvatureAnisotropicDiffusionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--conductance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconductance( ) ) ) ,"@@@@@"," --conductance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timeStep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimeStep( ) ) ) ,"@@@@@"," --timeStep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CurvatureAnisotropicDiffusion::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CurvatureAnisotropicDiffusion::bbUserSetDefaultValues ( ) { + } + + void CurvatureAnisotropicDiffusion::bbUserInitializeProcessing ( ) { + } + + void CurvatureAnisotropicDiffusion::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.h b/ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.h new file mode 100644 index 0000000..fc17218 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ +#define __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CurvatureAnisotropicDiffusion + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CurvatureAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( conductance , double ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( timeStep , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CurvatureAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CurvatureAnisotropicDiffusion" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Performs anisotropic diffusion on an image using a modified curvature diffusion equation MCDE.MCDE does not exhibit the edge enhancing properties of classic anisotropic diffusion, which can under certain conditions undergo a 'negative' diffusion, which enhances the contrast of edges. Equations of the form of MCDE always undergo positive diffusion, with the conductance term only varying the strength of that diffusion. Qualitatively, MCDE compares well with other non-linear diffusion techniques. It is less sensitive to contrast than classic Perona-Malik style diffusion, and preserves finer detailed structures in images. There is a potential speed trade-off for using this function in place of Gradient Anisotropic Diffusion. Each iteration of the solution takes roughly twice as long. Fewer iterations, however, may be required to reach an acceptable solution." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CurvatureAnisotropicDiffusion , conductance , "conductance" , double, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , timeStep , "timeStep" , double, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CurvatureAnisotropicDiffusion ) ; +} + +#endif // __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.cxx b/ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.cxx new file mode 100644 index 0000000..bef5a5e --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.cxx @@ -0,0 +1,94 @@ +#include "bbSlicerDemonRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, DemonRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( DemonRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void DemonRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =40; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSDemonWarpLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputPixelType( ) ) ) ,"@@@@@"," --inputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldVolume( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelType( ) ) ) ,"@@@@@"," --outputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registrationFilterType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistrationFilterType( ) ) ) ,"@@@@@"," --registrationFilterType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothDisplacementFieldSigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfPyramidLevels( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumFixedPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumFixedPyramid( ) ) ) ,"@@@@@"," --minimumFixedPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumMovingPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumMovingPyramid( ) ) ) ,"@@@@@"," --minimumMovingPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarrayOfPyramidLevelIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithDisplacementField" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithDisplacementField( ) ) ) ,"@@@@@"," --initializeWithDisplacementField ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithTransform( ) ) ) ,"@@@@@"," --initializeWithTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskProcessingMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskProcessingMode( ) ) ) ,"@@@@@"," --maskProcessingMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--lowerThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlowerThresholdForBOBF( ) ) ) ,"@@@@@"," --lowerThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--upperThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputupperThresholdForBOBF( ) ) ) ,"@@@@@"," --upperThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seedForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseedForBOBF( ) ) ) ,"@@@@@"," --seedForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhoodForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhoodForBOBF( ) ) ) ,"@@@@@"," --neighborhoodForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDisplacementFieldPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldPrefix( ) ) ) ,"@@@@@"," --outputDisplacementFieldPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputCheckerboardVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputCheckerboardVolume( ) ) ) ,"@@@@@"," --outputCheckerboardVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerboardPatternSubdivisions" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerboardPatternSubdivisions( ) ) ) ,"@@@@@"," --checkerboardPatternSubdivisions ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputNormalized" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputNormalized( ) ) ) ,"@@@@@"," --outputNormalized ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDebug( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgradientType( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingUp( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxStepLength( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-a" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputturnOffDiffeomorph( ) ) ) ,"@@@@@"," -a ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBCHApproximationTerms" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBCHApproximationTerms( ) ) ) ,"@@@@@"," --numberOfBCHApproximationTerms ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void DemonRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void DemonRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void DemonRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void DemonRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.h b/ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.h new file mode 100644 index 0000000..8482ead --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.h @@ -0,0 +1,136 @@ +#ifndef __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT DemonRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( movingVolume , std::string ); +BBTK_DECLARE_INPUT ( fixedVolume , std::string ); +BBTK_DECLARE_INPUT ( inputPixelType , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldVolume , std::string ); +BBTK_DECLARE_INPUT ( outputPixelType , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( registrationFilterType , std::string ); +BBTK_DECLARE_INPUT ( smoothDisplacementFieldSigma , double ); +BBTK_DECLARE_INPUT ( numberOfPyramidLevels , int ); +BBTK_DECLARE_INPUT ( minimumFixedPyramid , std::vector ); +BBTK_DECLARE_INPUT ( minimumMovingPyramid , std::vector ); +BBTK_DECLARE_INPUT ( arrayOfPyramidLevelIterations , std::vector ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( initializeWithDisplacementField , std::string ); +BBTK_DECLARE_INPUT ( initializeWithTransform , std::string ); +BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( lowerThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( upperThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( backgroundFillValue , int ); +BBTK_DECLARE_INPUT ( seedForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( neighborhoodForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldPrefix , std::string ); +BBTK_DECLARE_INPUT ( outputCheckerboardVolume , std::string ); +BBTK_DECLARE_INPUT ( checkerboardPatternSubdivisions , std::vector ); +BBTK_DECLARE_INPUT ( outputNormalized , bool ); +BBTK_DECLARE_INPUT ( outputDebug , bool ); +BBTK_DECLARE_INPUT ( gradientType , int ); +BBTK_DECLARE_INPUT ( smoothingUp , double ); +BBTK_DECLARE_INPUT ( maxStepLength , double ); +BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "DemonRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ; + BBTK_DESCRIPTION ( "This program finds a deformation field to warp a moving image onto a fixed image. The images must be of the same signal kind, and contain an image of the same kind of object. This program uses the Thirion Demons warp software in ITK, the Insight Toolkit. Additional information is available at: http://www.nitrc.org/projects/brainsdemonwarp." ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(DemonRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , gradientType , "gradientType" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS ) ; +} + +#endif // __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.cxx b/ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.cxx new file mode 100644 index 0000000..49caf5c --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.cxx @@ -0,0 +1,61 @@ +#include "bbSlicerDicomtoNrrdConverter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, DicomtoNrrdConverter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( DicomtoNrrdConverter, bbtk::AtomicBlackBox ); + + void DicomtoNrrdConverter::Process ( ) { + + // GENERATED + +int _argc =7; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libDicomToNrrdConverterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputDicomDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputDicomDirectory( ) ) ) ,"@@@@@"," --inputDicomDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDirectory( ) ) ) ,"@@@@@"," --outputDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smallGradientThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmallGradientThreshold( ) ) ) ,"@@@@@"," --smallGradientThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeProtocolGradientsFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwriteProtocolGradientsFile( ) ) ) ,"@@@@@"," --writeProtocolGradientsFile ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useIdentityMeaseurementFrame" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseIdentityMeaseurementFrame( ) ) ) ,"@@@@@"," --useIdentityMeaseurementFrame ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBMatrixGradientDirections" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseBMatrixGradientDirections( ) ) ) ,"@@@@@"," --useBMatrixGradientDirections ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void DicomtoNrrdConverter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void DicomtoNrrdConverter::bbUserSetDefaultValues ( ) { + } + + void DicomtoNrrdConverter::bbUserInitializeProcessing ( ) { + } + + void DicomtoNrrdConverter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.h b/ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.h new file mode 100644 index 0000000..808c738 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.h @@ -0,0 +1,70 @@ +#ifndef __bbSlicerDicomtoNrrdConverter_h_INCLUDED__ +#define __bbSlicerDicomtoNrrdConverter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT DicomtoNrrdConverter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( DicomtoNrrdConverter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputDicomDirectory , std::string ); +BBTK_DECLARE_INPUT ( outputDirectory , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( smallGradientThreshold , double ); +BBTK_DECLARE_INPUT ( writeProtocolGradientsFile , bool ); +BBTK_DECLARE_INPUT ( useIdentityMeaseurementFrame , bool ); +BBTK_DECLARE_INPUT ( useBMatrixGradientDirections , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( DicomtoNrrdConverter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "DicomtoNrrdConverter" ) ; + BBTK_AUTHOR ( "Xiaodong Tao" ) ; + BBTK_DESCRIPTION ( "Converts diffusion weighted MR images in dicom series into Nrrd format for analysis in Slicer. This program has been tested on only a limited subset of DTI dicom formats available from Siemens, GE, and Phillips scanners. Work in progress to support dicom multi-frame data. The program parses dicom header to extract necessary information about measurement frame, diffusion weighting directions, b-values, etc, and write out a nrrd image. For non-diffusion weighted dicom images, it loads in an entire dicom series and writes out a single dicom volume in a .nhdr/.raw pair." ) ; + BBTK_CATEGORY ( "Converters" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(DicomtoNrrdConverter , inputDicomDirectory , "inputDicomDirectory" , std::string, ""); +BBTK_INPUT(DicomtoNrrdConverter , outputDirectory , "outputDirectory" , std::string, ""); +BBTK_INPUT(DicomtoNrrdConverter , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(DicomtoNrrdConverter , smallGradientThreshold , "smallGradientThreshold" , double, ""); +BBTK_INPUT(DicomtoNrrdConverter , writeProtocolGradientsFile , "writeProtocolGradientsFile" , bool, ""); +BBTK_INPUT(DicomtoNrrdConverter , useIdentityMeaseurementFrame , "useIdentityMeaseurementFrame" , bool, ""); +BBTK_INPUT(DicomtoNrrdConverter , useBMatrixGradientDirections , "useBMatrixGradientDirections" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( DicomtoNrrdConverter ) ; +} + +#endif // __bbSlicerDicomtoNrrdConverter_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerExecutionModelTour.cxx b/ModuleCall/GenSrc/bbSlicerExecutionModelTour.cxx new file mode 100644 index 0000000..659a398 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerExecutionModelTour.cxx @@ -0,0 +1,82 @@ +#include "bbSlicerExecutionModelTour.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExecutionModelTour ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExecutionModelTour, bbtk::AtomicBlackBox ); + + void ExecutionModelTour::Process ( ) { + + // GENERATED + +int _argc =28; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libExecutionModelTourLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputintegerVariable( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdoubleVariable( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfloatVector( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--string_vector" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstringVector( ) ) ) ,"@@@@@"," --string_vector ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstringChoice( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean1( ) ) ) ,"@@@@@"," --boolean1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean2( ) ) ) ,"@@@@@"," --boolean2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean3" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean3( ) ) ) ,"@@@@@"," --boolean3 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--file1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfile1( ) ) ) ,"@@@@@"," --file1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--files" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfiles( ) ) ) ,"@@@@@"," --files ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--directory1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdirectory1( ) ) ) ,"@@@@@"," --directory1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimage1( ) ) ) ,"@@@@@"," --image1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimage2( ) ) ) ,"@@@@@"," --image2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransform1( ) ) ) ,"@@@@@"," --transform1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransform2( ) ) ) ,"@@@@@"," --transform2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseed( ) ) ) ,"@@@@@"," --seed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarg0( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarg1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--region" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregions( ) ) ) ,"@@@@@"," --region ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputFA" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputFA( ) ) ) ,"@@@@@"," --inputFA ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputFA" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputFA( ) ) ) ,"@@@@@"," --outputFA ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputanintegerreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputabooleanreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputafloatreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputadoublereturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputastringreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputanintegervectorreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputastringchoicereturn( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExecutionModelTour::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExecutionModelTour::bbUserSetDefaultValues ( ) { + } + + void ExecutionModelTour::bbUserInitializeProcessing ( ) { + } + + void ExecutionModelTour::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerExecutionModelTour.h b/ModuleCall/GenSrc/bbSlicerExecutionModelTour.h new file mode 100644 index 0000000..b867459 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerExecutionModelTour.h @@ -0,0 +1,112 @@ +#ifndef __bbSlicerExecutionModelTour_h_INCLUDED__ +#define __bbSlicerExecutionModelTour_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExecutionModelTour + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExecutionModelTour , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( integerVariable , int ); +BBTK_DECLARE_INPUT ( doubleVariable , double ); +BBTK_DECLARE_INPUT ( floatVector , std::vector ); +BBTK_DECLARE_INPUT ( stringVector , std::vector ); +BBTK_DECLARE_INPUT ( stringChoice , std::string ); +BBTK_DECLARE_INPUT ( boolean1 , bool ); +BBTK_DECLARE_INPUT ( boolean2 , bool ); +BBTK_DECLARE_INPUT ( boolean3 , bool ); +BBTK_DECLARE_INPUT ( file1 , std::string ); +BBTK_DECLARE_INPUT ( files , std::vector ); +BBTK_DECLARE_INPUT ( directory1 , std::string ); +BBTK_DECLARE_INPUT ( image1 , std::string ); +BBTK_DECLARE_INPUT ( image2 , std::string ); +BBTK_DECLARE_INPUT ( transform1 , std::string ); +BBTK_DECLARE_INPUT ( transform2 , std::string ); +BBTK_DECLARE_INPUT ( seed , std::vector > ); +BBTK_DECLARE_INPUT ( arg0 , std::string ); +BBTK_DECLARE_INPUT ( arg1 , std::string ); +BBTK_DECLARE_INPUT ( regions , std::vector > ); +BBTK_DECLARE_INPUT ( inputFA , std::string ); +BBTK_DECLARE_INPUT ( outputFA , std::string ); +BBTK_DECLARE_INPUT ( anintegerreturn , int ); +BBTK_DECLARE_INPUT ( abooleanreturn , bool ); +BBTK_DECLARE_INPUT ( afloatreturn , float ); +BBTK_DECLARE_INPUT ( adoublereturn , double ); +BBTK_DECLARE_INPUT ( astringreturn , std::string ); +BBTK_DECLARE_INPUT ( anintegervectorreturn , std::vector ); +BBTK_DECLARE_INPUT ( astringchoicereturn , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExecutionModelTour , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExecutionModelTour" ) ; + BBTK_AUTHOR ( "Daniel Blezek, Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Shows one of each type of parameter." ) ; + BBTK_CATEGORY ( "Developer Tools" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExecutionModelTour , integerVariable , "integerVariable" , int, ""); +BBTK_INPUT(ExecutionModelTour , doubleVariable , "doubleVariable" , double, ""); +BBTK_INPUT(ExecutionModelTour , floatVector , "floatVector" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , stringVector , "stringVector" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , stringChoice , "stringChoice" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , boolean1 , "boolean1" , bool, ""); +BBTK_INPUT(ExecutionModelTour , boolean2 , "boolean2" , bool, ""); +BBTK_INPUT(ExecutionModelTour , boolean3 , "boolean3" , bool, ""); +BBTK_INPUT(ExecutionModelTour , file1 , "file1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , files , "files" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , directory1 , "directory1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , image1 , "image1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , image2 , "image2" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , transform1 , "transform1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , transform2 , "transform2" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , seed , "seed" , std::vector >, ""); +BBTK_INPUT(ExecutionModelTour , arg0 , "arg0" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , arg1 , "arg1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , regions , "regions" , std::vector >, ""); +BBTK_INPUT(ExecutionModelTour , inputFA , "inputFA" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , outputFA , "outputFA" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , anintegerreturn , "anintegerreturn" , int, ""); +BBTK_INPUT(ExecutionModelTour , abooleanreturn , "abooleanreturn" , bool, ""); +BBTK_INPUT(ExecutionModelTour , afloatreturn , "afloatreturn" , float, ""); +BBTK_INPUT(ExecutionModelTour , adoublereturn , "adoublereturn" , double, ""); +BBTK_INPUT(ExecutionModelTour , astringreturn , "astringreturn" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , anintegervectorreturn , "anintegervectorreturn" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , astringchoicereturn , "astringchoicereturn" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExecutionModelTour ) ; +} + +#endif // __bbSlicerExecutionModelTour_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.cxx b/ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.cxx new file mode 100644 index 0000000..61ea18d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.cxx @@ -0,0 +1,82 @@ +#include "bbSlicerExpertAutomatedRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExpertAutomatedRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExpertAutomatedRegistration, bbtk::AtomicBlackBox ); + + void ExpertAutomatedRegistration::Process ( ) { + + // GENERATED + +int _argc =28; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRegisterImagesModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputresampledImage( ) ) ) ,"@@@@@"," --resampledImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--loadTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputloadTransform( ) ) ) ,"@@@@@"," --loadTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsaveTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialization" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialization( ) ) ) ,"@@@@@"," --initialization ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registration" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistration( ) ) ) ,"@@@@@"," --registration ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--metric" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmetric( ) ) ) ,"@@@@@"," --metric ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedOffset" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedOffset( ) ) ) ,"@@@@@"," --expectedOffset ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedRotation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedRotation( ) ) ) ,"@@@@@"," --expectedRotation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedScale( ) ) ) ,"@@@@@"," --expectedScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedSkew" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedSkew( ) ) ) ,"@@@@@"," --expectedSkew ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--verbosityLevel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputverbosityLevel( ) ) ) ,"@@@@@"," --verbosityLevel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--sampleFromOverlap" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsampleFromOverlap( ) ) ) ,"@@@@@"," --sampleFromOverlap ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageMask( ) ) ) ,"@@@@@"," --fixedImageMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--randomNumberSeed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrandomNumberSeed( ) ) ) ,"@@@@@"," --randomNumberSeed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimizeMemory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimizeMemory( ) ) ) ,"@@@@@"," --minimizeMemory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolation( ) ) ) ,"@@@@@"," --interpolation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedLandmarks( ) ) ) ,"@@@@@"," --fixedLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingLandmarks( ) ) ) ,"@@@@@"," --movingLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rigidMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrigidMaxIterations( ) ) ) ,"@@@@@"," --rigidMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rigidSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrigidSamplingRatio( ) ) ) ,"@@@@@"," --rigidSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--affineMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputaffineMaxIterations( ) ) ) ,"@@@@@"," --affineMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--affineSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputaffineSamplingRatio( ) ) ) ,"@@@@@"," --affineSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineMaxIterations( ) ) ) ,"@@@@@"," --bsplineMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineSamplingRatio( ) ) ) ,"@@@@@"," --bsplineSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--controlPointSpacing" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcontrolPointSpacing( ) ) ) ,"@@@@@"," --controlPointSpacing ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExpertAutomatedRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExpertAutomatedRegistration::bbUserSetDefaultValues ( ) { + } + + void ExpertAutomatedRegistration::bbUserInitializeProcessing ( ) { + } + + void ExpertAutomatedRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.h b/ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.h new file mode 100644 index 0000000..5c0312d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.h @@ -0,0 +1,112 @@ +#ifndef __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ +#define __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExpertAutomatedRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedImage , std::string ); +BBTK_DECLARE_INPUT ( movingImage , std::string ); +BBTK_DECLARE_INPUT ( resampledImage , std::string ); +BBTK_DECLARE_INPUT ( loadTransform , std::string ); +BBTK_DECLARE_INPUT ( saveTransform , std::string ); +BBTK_DECLARE_INPUT ( initialization , std::string ); +BBTK_DECLARE_INPUT ( registration , std::string ); +BBTK_DECLARE_INPUT ( metric , std::string ); +BBTK_DECLARE_INPUT ( expectedOffset , float ); +BBTK_DECLARE_INPUT ( expectedRotation , float ); +BBTK_DECLARE_INPUT ( expectedScale , float ); +BBTK_DECLARE_INPUT ( expectedSkew , float ); +BBTK_DECLARE_INPUT ( verbosityLevel , std::string ); +BBTK_DECLARE_INPUT ( sampleFromOverlap , bool ); +BBTK_DECLARE_INPUT ( fixedImageMask , std::string ); +BBTK_DECLARE_INPUT ( randomNumberSeed , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); +BBTK_DECLARE_INPUT ( minimizeMemory , bool ); +BBTK_DECLARE_INPUT ( interpolation , std::string ); +BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( movingLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( rigidMaxIterations , int ); +BBTK_DECLARE_INPUT ( rigidSamplingRatio , float ); +BBTK_DECLARE_INPUT ( affineMaxIterations , int ); +BBTK_DECLARE_INPUT ( affineSamplingRatio , float ); +BBTK_DECLARE_INPUT ( bsplineMaxIterations , int ); +BBTK_DECLARE_INPUT ( bsplineSamplingRatio , float ); +BBTK_DECLARE_INPUT ( controlPointSpacing , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExpertAutomatedRegistration" ) ; + BBTK_AUTHOR ( "Stephen R Aylward, Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Provides rigid, affine, and BSpline registration methods via a simple GUI" ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExpertAutomatedRegistration , fixedImage , "fixedImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , movingImage , "movingImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , resampledImage , "resampledImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , loadTransform , "loadTransform" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , saveTransform , "saveTransform" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , initialization , "initialization" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , registration , "registration" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , metric , "metric" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedOffset , "expectedOffset" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedRotation , "expectedRotation" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedScale , "expectedScale" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedSkew , "expectedSkew" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , verbosityLevel , "verbosityLevel" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , sampleFromOverlap , "sampleFromOverlap" , bool, ""); +BBTK_INPUT(ExpertAutomatedRegistration , fixedImageMask , "fixedImageMask" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , randomNumberSeed , "randomNumberSeed" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , numberOfThreads , "numberOfThreads" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , minimizeMemory , "minimizeMemory" , bool, ""); +BBTK_INPUT(ExpertAutomatedRegistration , interpolation , "interpolation" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , fixedLandmarks , "fixedLandmarks" , std::vector >, ""); +BBTK_INPUT(ExpertAutomatedRegistration , movingLandmarks , "movingLandmarks" , std::vector >, ""); +BBTK_INPUT(ExpertAutomatedRegistration , rigidMaxIterations , "rigidMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , rigidSamplingRatio , "rigidSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , affineMaxIterations , "affineMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , affineSamplingRatio , "affineSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , bsplineMaxIterations , "bsplineMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , bsplineSamplingRatio , "bsplineSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , controlPointSpacing , "controlPointSpacing" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration ) ; +} + +#endif // __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx b/ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx new file mode 100644 index 0000000..ca15465 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerExtractSkeleton.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExtractSkeleton ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExtractSkeleton, bbtk::AtomicBlackBox ); + + void ExtractSkeleton::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libExtractSkeletonLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--type" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkeletonType( ) ) ) ,"@@@@@"," --type ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dontPrune" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDontPruneBranches( ) ) ) ,"@@@@@"," --dontPrune ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfPoints( ) ) ) ,"@@@@@"," --numPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointsFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputPointsFileName( ) ) ) ,"@@@@@"," --pointsFile ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExtractSkeleton::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExtractSkeleton::bbUserSetDefaultValues ( ) { + } + + void ExtractSkeleton::bbUserInitializeProcessing ( ) { + } + + void ExtractSkeleton::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerExtractSkeleton.h b/ModuleCall/GenSrc/bbSlicerExtractSkeleton.h new file mode 100644 index 0000000..3b47fb2 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerExtractSkeleton.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerExtractSkeleton_h_INCLUDED__ +#define __bbSlicerExtractSkeleton_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExtractSkeleton + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExtractSkeleton , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputImageFileName , std::string ); +BBTK_DECLARE_INPUT ( SkeletonType , std::string ); +BBTK_DECLARE_INPUT ( DontPruneBranches , bool ); +BBTK_DECLARE_INPUT ( NumberOfPoints , int ); +BBTK_DECLARE_INPUT ( OutputPointsFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExtractSkeleton , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExtractSkeleton" ) ; + BBTK_AUTHOR ( "Pierre Seroul, Martin Styner, Guido Gerig, and Stephen Aylward" ) ; + BBTK_DESCRIPTION ( "Extract the skeleton of a binary object. The skeleton can be limited to being a 1D curve or allowed to be a full 2D manifold. The branches of the skeleton can be pruned so that only the maximal center skeleton is returned." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExtractSkeleton , InputImageFileName , "InputImageFileName" , std::string, ""); +BBTK_INPUT(ExtractSkeleton , OutputImageFileName , "OutputImageFileName" , std::string, ""); +BBTK_INPUT(ExtractSkeleton , SkeletonType , "SkeletonType" , std::string, ""); +BBTK_INPUT(ExtractSkeleton , DontPruneBranches , "DontPruneBranches" , bool, ""); +BBTK_INPUT(ExtractSkeleton , NumberOfPoints , "NumberOfPoints" , int, ""); +BBTK_INPUT(ExtractSkeleton , OutputPointsFileName , "OutputPointsFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExtractSkeleton ) ; +} + +#endif // __bbSlicerExtractSkeleton_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerFastAffineregistration.cxx b/ModuleCall/GenSrc/bbSlicerFastAffineregistration.cxx new file mode 100644 index 0000000..b2b8a79 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFastAffineregistration.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerFastAffineregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastAffineregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastAffineregistration, bbtk::AtomicBlackBox ); + + void FastAffineregistration::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libAffineRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastAffineregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastAffineregistration::bbUserSetDefaultValues ( ) { + } + + void FastAffineregistration::bbUserInitializeProcessing ( ) { + } + + void FastAffineregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerFastAffineregistration.h b/ModuleCall/GenSrc/bbSlicerFastAffineregistration.h new file mode 100644 index 0000000..ae6c4a6 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFastAffineregistration.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerFastAffineregistration_h_INCLUDED__ +#define __bbSlicerFastAffineregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastAffineregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastAffineregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , int ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastAffineregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastAffineregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using an affine transform and mutual information. This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastAffineregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastAffineregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastAffineregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastAffineregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastAffineregistration , Iterations , "Iterations" , int, ""); +BBTK_INPUT(FastAffineregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(FastAffineregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastAffineregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastAffineregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastAffineregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastAffineregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastAffineregistration ) ; +} + +#endif // __bbSlicerFastAffineregistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.cxx b/ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.cxx new file mode 100644 index 0000000..cb3326a --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.cxx @@ -0,0 +1,67 @@ +#include "bbSlicerFastNonrigidBSplineregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastNonrigidBSplineregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastNonrigidBSplineregistration, bbtk::AtomicBlackBox ); + + void FastNonrigidBSplineregistration::Process ( ) { + + // GENERATED + +int _argc =13; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineDeformableRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ) ,"@@@@@"," --constrain ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ) ,"@@@@@"," --outputwarp ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastNonrigidBSplineregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastNonrigidBSplineregistration::bbUserSetDefaultValues ( ) { + } + + void FastNonrigidBSplineregistration::bbUserInitializeProcessing ( ) { + } + + void FastNonrigidBSplineregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.h b/ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.h new file mode 100644 index 0000000..dbb3cf3 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.h @@ -0,0 +1,82 @@ +#ifndef __bbSlicerFastNonrigidBSplineregistration_h_INCLUDED__ +#define __bbSlicerFastNonrigidBSplineregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastNonrigidBSplineregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastNonrigidBSplineregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( Iterations , int ); +BBTK_DECLARE_INPUT ( gridSize , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( ConstrainDeformation , bool ); +BBTK_DECLARE_INPUT ( MaximumDeformation , float ); +BBTK_DECLARE_INPUT ( DefaultPixelValue , int ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( OutputWarp , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastNonrigidBSplineregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastNonrigidBSplineregistration" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Registers two images together using BSpline transform and mutual information." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastNonrigidBSplineregistration , Iterations , "Iterations" , int, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , gridSize , "gridSize" , int, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , ConstrainDeformation , "ConstrainDeformation" , bool, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , MaximumDeformation , "MaximumDeformation" , float, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , DefaultPixelValue , "DefaultPixelValue" , int, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , OutputWarp , "OutputWarp" , std::string, ""); +BBTK_INPUT(FastNonrigidBSplineregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastNonrigidBSplineregistration ) ; +} + +#endif // __bbSlicerFastNonrigidBSplineregistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerFastRigidregistration.cxx b/ModuleCall/GenSrc/bbSlicerFastRigidregistration.cxx new file mode 100644 index 0000000..ef25e18 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFastRigidregistration.cxx @@ -0,0 +1,67 @@ +#include "bbSlicerFastRigidregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastRigidregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastRigidregistration, bbtk::AtomicBlackBox ); + + void FastRigidregistration::Process ( ) { + + // GENERATED + +int _argc =13; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRigidRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--testingmode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTestingMode( ) ) ) ,"@@@@@"," --testingmode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLearningRate( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastRigidregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastRigidregistration::bbUserSetDefaultValues ( ) { + } + + void FastRigidregistration::bbUserInitializeProcessing ( ) { + } + + void FastRigidregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerFastRigidregistration.h b/ModuleCall/GenSrc/bbSlicerFastRigidregistration.h new file mode 100644 index 0000000..9628e70 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFastRigidregistration.h @@ -0,0 +1,82 @@ +#ifndef __bbSlicerFastRigidregistration_h_INCLUDED__ +#define __bbSlicerFastRigidregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastRigidregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastRigidregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( TestingMode , bool ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , std::vector ); +BBTK_DECLARE_INPUT ( LearningRate , std::vector ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastRigidregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastRigidregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information.This module was originally distributed as 'Linear registration' but has been renamed to eliminate confusion with the 'Affine registration' module.This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastRigidregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastRigidregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastRigidregistration , TestingMode , "TestingMode" , bool, ""); +BBTK_INPUT(FastRigidregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastRigidregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastRigidregistration , Iterations , "Iterations" , std::vector, ""); +BBTK_INPUT(FastRigidregistration , LearningRate , "LearningRate" , std::vector, ""); +BBTK_INPUT(FastRigidregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(FastRigidregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastRigidregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastRigidregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastRigidregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastRigidregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastRigidregistration ) ; +} + +#endif // __bbSlicerFastRigidregistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerFiducialRegistration.cxx b/ModuleCall/GenSrc/bbSlicerFiducialRegistration.cxx new file mode 100644 index 0000000..0d6bca8 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFiducialRegistration.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerFiducialRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FiducialRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FiducialRegistration, bbtk::AtomicBlackBox ); + + void FiducialRegistration::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libTransformFromFiducialsModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedLandmarks( ) ) ) ,"@@@@@"," --fixedLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingLandmarks( ) ) ) ,"@@@@@"," --movingLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsaveTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transformType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," --transformType ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FiducialRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FiducialRegistration::bbUserSetDefaultValues ( ) { + } + + void FiducialRegistration::bbUserInitializeProcessing ( ) { + } + + void FiducialRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerFiducialRegistration.h b/ModuleCall/GenSrc/bbSlicerFiducialRegistration.h new file mode 100644 index 0000000..46870b4 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerFiducialRegistration.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerFiducialRegistration_h_INCLUDED__ +#define __bbSlicerFiducialRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FiducialRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FiducialRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( movingLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( saveTransform , std::string ); +BBTK_DECLARE_INPUT ( transformType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FiducialRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FiducialRegistration" ) ; + BBTK_AUTHOR ( "Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Computes a rigid, similarity or affine transform from a matched list of fiducials" ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FiducialRegistration , fixedLandmarks , "fixedLandmarks" , std::vector >, ""); +BBTK_INPUT(FiducialRegistration , movingLandmarks , "movingLandmarks" , std::vector >, ""); +BBTK_INPUT(FiducialRegistration , saveTransform , "saveTransform" , std::string, ""); +BBTK_INPUT(FiducialRegistration , transformType , "transformType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FiducialRegistration ) ; +} + +#endif // __bbSlicerFiducialRegistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.cxx b/ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.cxx new file mode 100644 index 0000000..5ba6b77 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.cxx @@ -0,0 +1,63 @@ +#include "bbSlicerForegroundmaskingBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ForegroundmaskingBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ForegroundmaskingBRAINS, bbtk::AtomicBlackBox ); + + void ForegroundmaskingBRAINS::Process ( ) { + + // GENERATED + +int _argc =9; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSROIAutoLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@"," --inputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputROIMaskVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputROIMaskVolume( ) ) ) ,"@@@@@"," --outputROIMaskVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputClippedVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputClippedVolumeROI( ) ) ) ,"@@@@@"," --outputClippedVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--otsuPercentileThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputotsuPercentileThreshold( ) ) ) ,"@@@@@"," --otsuPercentileThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdCorrectionFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputthresholdCorrectionFactor( ) ) ) ,"@@@@@"," --thresholdCorrectionFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--closingSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputclosingSize( ) ) ) ,"@@@@@"," --closingSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoDilateSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoDilateSize( ) ) ) ,"@@@@@"," --ROIAutoDilateSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolumePixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolumePixelType( ) ) ) ,"@@@@@"," --outputVolumePixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ForegroundmaskingBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ForegroundmaskingBRAINS::bbUserSetDefaultValues ( ) { + } + + void ForegroundmaskingBRAINS::bbUserInitializeProcessing ( ) { + } + + void ForegroundmaskingBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.h b/ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.h new file mode 100644 index 0000000..ae8f25e --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.h @@ -0,0 +1,74 @@ +#ifndef __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ +#define __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ForegroundmaskingBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputROIMaskVolume , std::string ); +BBTK_DECLARE_INPUT ( outputClippedVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( otsuPercentileThreshold , double ); +BBTK_DECLARE_INPUT ( thresholdCorrectionFactor , double ); +BBTK_DECLARE_INPUT ( closingSize , double ); +BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); +BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ForegroundmaskingBRAINS" ) ; + BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; + BBTK_DESCRIPTION ( "This tool uses a combination of otsu thresholding and a closing operations to identify the most prominant foreground region in an image." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ForegroundmaskingBRAINS , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputROIMaskVolume , "outputROIMaskVolume" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputClippedVolumeROI , "outputClippedVolumeROI" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , otsuPercentileThreshold , "otsuPercentileThreshold" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , thresholdCorrectionFactor , "thresholdCorrectionFactor" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , closingSize , "closingSize" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS ) ; +} + +#endif // __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx b/ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx new file mode 100644 index 0000000..71d5e09 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerGaussianBlur.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GaussianBlur ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GaussianBlur, bbtk::AtomicBlackBox ); + + void GaussianBlur::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGaussianBlurImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GaussianBlur::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GaussianBlur::bbUserSetDefaultValues ( ) { + } + + void GaussianBlur::bbUserInitializeProcessing ( ) { + } + + void GaussianBlur::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerGaussianBlur.h b/ModuleCall/GenSrc/bbSlicerGaussianBlur.h new file mode 100644 index 0000000..98aa7bf --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGaussianBlur.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerGaussianBlur_h_INCLUDED__ +#define __bbSlicerGaussianBlur_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GaussianBlur + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GaussianBlur , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( sigma , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GaussianBlur , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GaussianBlur" ) ; + BBTK_AUTHOR ( "Julien Jomier and Stephen Aylward" ) ; + BBTK_DESCRIPTION ( "Apply a gaussian blurr to an image" ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GaussianBlur , sigma , "sigma" , double, ""); +BBTK_INPUT(GaussianBlur , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GaussianBlur , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GaussianBlur ) ; +} + +#endif // __bbSlicerGaussianBlur_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.cxx b/ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.cxx new file mode 100644 index 0000000..43a0846 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.cxx @@ -0,0 +1,114 @@ +#include "bbSlicerGeneralRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GeneralRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GeneralRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void GeneralRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =60; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSFitLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," --fixedVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," --movingVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineTransform( ) ) ) ,"@@@@@"," --bsplineTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--linearTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlinearTransform( ) ) ) ,"@@@@@"," --linearTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialTransform( ) ) ) ,"@@@@@"," --initialTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeTransformMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeTransformMode( ) ) ) ,"@@@@@"," --initializeTransformMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useRigid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseRigid( ) ) ) ,"@@@@@"," --useRigid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useScaleVersor3D" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseScaleVersor3D( ) ) ) ,"@@@@@"," --useScaleVersor3D ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useScaleSkewVersor3D" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseScaleSkewVersor3D( ) ) ) ,"@@@@@"," --useScaleSkewVersor3D ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useAffine" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseAffine( ) ) ) ,"@@@@@"," --useAffine ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBSpline" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseBSpline( ) ) ) ,"@@@@@"," --useBSpline ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfSamples" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfSamples( ) ) ) ,"@@@@@"," --numberOfSamples ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splineGridSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineGridSize( ) ) ) ,"@@@@@"," --splineGridSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --numberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskProcessingMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskProcessingMode( ) ) ) ,"@@@@@"," --maskProcessingMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputFixedVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputFixedVolumeROI( ) ) ) ,"@@@@@"," --outputFixedVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputMovingVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputMovingVolumeROI( ) ) ) ,"@@@@@"," --outputMovingVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolumePixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolumePixelType( ) ) ) ,"@@@@@"," --outputVolumePixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskInferiorCutOffFromCenter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskInferiorCutOffFromCenter( ) ) ) ,"@@@@@"," --maskInferiorCutOffFromCenter ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--scaleOutputValues" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputscaleOutputValues( ) ) ) ,"@@@@@"," --scaleOutputValues ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumStepLength" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumStepLength( ) ) ) ,"@@@@@"," --minimumStepLength ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--translationScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtranslationScale( ) ) ) ,"@@@@@"," --translationScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reproportionScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreproportionScale( ) ) ) ,"@@@@@"," --reproportionScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skewScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputskewScale( ) ) ) ,"@@@@@"," --skewScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxBSplineDisplacement" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxBSplineDisplacement( ) ) ) ,"@@@@@"," --maxBSplineDisplacement ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--strippedOutputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstrippedOutputTransform( ) ) ) ,"@@@@@"," --strippedOutputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transformType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," --transformType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputTransform( ) ) ) ,"@@@@@"," --outputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedVolumeTimeIndex" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolumeTimeIndex( ) ) ) ,"@@@@@"," --fixedVolumeTimeIndex ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingVolumeTimeIndex" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolumeTimeIndex( ) ) ) ,"@@@@@"," --movingVolumeTimeIndex ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--removeIntensityOutliers" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputremoveIntensityOutliers( ) ) ) ,"@@@@@"," --removeIntensityOutliers ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCachingOfBSplineWeightsMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCachingOfBSplineWeightsMode( ) ) ) ,"@@@@@"," --useCachingOfBSplineWeightsMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useExplicitPDFDerivativesMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseExplicitPDFDerivativesMode( ) ) ) ,"@@@@@"," --useExplicitPDFDerivativesMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoDilateSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoDilateSize( ) ) ) ,"@@@@@"," --ROIAutoDilateSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoClosingSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoClosingSize( ) ) ) ,"@@@@@"," --ROIAutoClosingSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--relaxationFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrelaxationFactor( ) ) ) ,"@@@@@"," --relaxationFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumStepLength" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaximumStepLength( ) ) ) ,"@@@@@"," --maximumStepLength ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--failureExitCode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfailureExitCode( ) ) ) ,"@@@@@"," --failureExitCode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeTransformOnFailure" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwriteTransformOnFailure( ) ) ) ,"@@@@@"," --writeTransformOnFailure ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--forceMINumberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputforceMINumberOfThreads( ) ) ) ,"@@@@@"," --forceMINumberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--debugLevel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebugLevel( ) ) ) ,"@@@@@"," --debugLevel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--costFunctionConvergenceFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcostFunctionConvergenceFactor( ) ) ) ,"@@@@@"," --costFunctionConvergenceFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--projectedGradientTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputprojectedGradientTolerance( ) ) ) ,"@@@@@"," --projectedGradientTolerance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_00" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseMomentsAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_00 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_01" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseGeometryAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_01 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_02" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCenterOfHeadAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_02 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--permitParameterVariation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpermitParameterVariation( ) ) ) ,"@@@@@"," --permitParameterVariation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--costMetric" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcostMetric( ) ) ) ,"@@@@@"," --costMetric ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GeneralRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GeneralRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void GeneralRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void GeneralRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.h b/ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.h new file mode 100644 index 0000000..6bdf64a --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.h @@ -0,0 +1,176 @@ +#ifndef __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GeneralRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedVolume , std::string ); +BBTK_DECLARE_INPUT ( movingVolume , std::string ); +BBTK_DECLARE_INPUT ( bsplineTransform , std::string ); +BBTK_DECLARE_INPUT ( linearTransform , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( initialTransform , std::string ); +BBTK_DECLARE_INPUT ( initializeTransformMode , std::string ); +BBTK_DECLARE_INPUT ( useRigid , bool ); +BBTK_DECLARE_INPUT ( useScaleVersor3D , bool ); +BBTK_DECLARE_INPUT ( useScaleSkewVersor3D , bool ); +BBTK_DECLARE_INPUT ( useAffine , bool ); +BBTK_DECLARE_INPUT ( useBSpline , bool ); +BBTK_DECLARE_INPUT ( numberOfSamples , int ); +BBTK_DECLARE_INPUT ( splineGridSize , std::vector ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( outputFixedVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( outputMovingVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); +BBTK_DECLARE_INPUT ( backgroundFillValue , double ); +BBTK_DECLARE_INPUT ( maskInferiorCutOffFromCenter , double ); +BBTK_DECLARE_INPUT ( scaleOutputValues , bool ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( minimumStepLength , std::vector ); +BBTK_DECLARE_INPUT ( translationScale , double ); +BBTK_DECLARE_INPUT ( reproportionScale , double ); +BBTK_DECLARE_INPUT ( skewScale , double ); +BBTK_DECLARE_INPUT ( maxBSplineDisplacement , double ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( strippedOutputTransform , std::string ); +BBTK_DECLARE_INPUT ( transformType , std::vector ); +BBTK_DECLARE_INPUT ( outputTransform , std::string ); +BBTK_DECLARE_INPUT ( fixedVolumeTimeIndex , int ); +BBTK_DECLARE_INPUT ( movingVolumeTimeIndex , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( removeIntensityOutliers , double ); +BBTK_DECLARE_INPUT ( useCachingOfBSplineWeightsMode , std::string ); +BBTK_DECLARE_INPUT ( useExplicitPDFDerivativesMode , std::string ); +BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); +BBTK_DECLARE_INPUT ( ROIAutoClosingSize , double ); +BBTK_DECLARE_INPUT ( relaxationFactor , double ); +BBTK_DECLARE_INPUT ( maximumStepLength , double ); +BBTK_DECLARE_INPUT ( failureExitCode , int ); +BBTK_DECLARE_INPUT ( writeTransformOnFailure , bool ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); +BBTK_DECLARE_INPUT ( forceMINumberOfThreads , int ); +BBTK_DECLARE_INPUT ( debugLevel , int ); +BBTK_DECLARE_INPUT ( costFunctionConvergenceFactor , double ); +BBTK_DECLARE_INPUT ( projectedGradientTolerance , double ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( useMomentsAlign , bool ); +BBTK_DECLARE_INPUT ( useGeometryAlign , bool ); +BBTK_DECLARE_INPUT ( useCenterOfHeadAlign , bool ); +BBTK_DECLARE_INPUT ( permitParameterVariation , std::vector ); +BBTK_DECLARE_INPUT ( costMetric , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GeneralRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; + BBTK_DESCRIPTION ( "Register a three-dimensional volume to a reference volume Mattes Mutual Information by default. Described in BRAINSFit: Mutual Information Registrations of Whole-Brain 3D Images, Using the Insight Toolkit, Johnson H.J., Harris G., Williams K., The Insight Journal, 2007. http://hdl.handle.net/1926/1291" ) ; + BBTK_CATEGORY ( "Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , bsplineTransform , "bsplineTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , linearTransform , "linearTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , initialTransform , "initialTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , initializeTransformMode , "initializeTransformMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useRigid , "useRigid" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useScaleVersor3D , "useScaleVersor3D" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useScaleSkewVersor3D , "useScaleSkewVersor3D" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useAffine , "useAffine" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useBSpline , "useBSpline" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfSamples , "numberOfSamples" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , splineGridSize , "splineGridSize" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputFixedVolumeROI , "outputFixedVolumeROI" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputMovingVolumeROI , "outputMovingVolumeROI" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maskInferiorCutOffFromCenter , "maskInferiorCutOffFromCenter" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , scaleOutputValues , "scaleOutputValues" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , minimumStepLength , "minimumStepLength" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , translationScale , "translationScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , reproportionScale , "reproportionScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , skewScale , "skewScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maxBSplineDisplacement , "maxBSplineDisplacement" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , strippedOutputTransform , "strippedOutputTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , transformType , "transformType" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputTransform , "outputTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolumeTimeIndex , "fixedVolumeTimeIndex" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingVolumeTimeIndex , "movingVolumeTimeIndex" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , removeIntensityOutliers , "removeIntensityOutliers" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useCachingOfBSplineWeightsMode , "useCachingOfBSplineWeightsMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useExplicitPDFDerivativesMode , "useExplicitPDFDerivativesMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoClosingSize , "ROIAutoClosingSize" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , relaxationFactor , "relaxationFactor" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maximumStepLength , "maximumStepLength" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , failureExitCode , "failureExitCode" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , writeTransformOnFailure , "writeTransformOnFailure" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , forceMINumberOfThreads , "forceMINumberOfThreads" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , debugLevel , "debugLevel" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , costFunctionConvergenceFactor , "costFunctionConvergenceFactor" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , projectedGradientTolerance , "projectedGradientTolerance" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useMomentsAlign , "useMomentsAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useGeometryAlign , "useGeometryAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useCenterOfHeadAlign , "useCenterOfHeadAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , permitParameterVariation , "permitParameterVariation" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , costMetric , "costMetric" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS ) ; +} + +#endif // __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.cxx b/ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.cxx new file mode 100644 index 0000000..ef5ab1b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerGradientAnisotropicDiffusion.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GradientAnisotropicDiffusion ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GradientAnisotropicDiffusion, bbtk::AtomicBlackBox ); + + void GradientAnisotropicDiffusion::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGradientAnisotropicDiffusionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--conductance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconductance( ) ) ) ,"@@@@@"," --conductance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timeStep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimeStep( ) ) ) ,"@@@@@"," --timeStep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GradientAnisotropicDiffusion::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GradientAnisotropicDiffusion::bbUserSetDefaultValues ( ) { + } + + void GradientAnisotropicDiffusion::bbUserInitializeProcessing ( ) { + } + + void GradientAnisotropicDiffusion::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.h b/ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.h new file mode 100644 index 0000000..eb9e3ad --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ +#define __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GradientAnisotropicDiffusion + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GradientAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( conductance , double ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( timeStep , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GradientAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GradientAnisotropicDiffusion" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Runs gradient anisotropic diffusion on a volume.Anisotropic diffusion methods reduce noise or unwanted detail in images while preserving specific image features, like edges. For many applications, there is an assumption that light-dark transitions edges are interesting. Standard isotropic diffusion methods move and blur light-dark boundaries. Anisotropic diffusion methods are formulated to specifically preserve edges. The conductance term for this implementation is a function of the gradient magnitude of the image at each point, reducing the strength of diffusion at edges. The numerical implementation of this equation is similar to that described in the Perona-Malik paper, but uses a more robust technique for gradient magnitude estimation and has been generalized to N-dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GradientAnisotropicDiffusion , conductance , "conductance" , double, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , timeStep , "timeStep" , double, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GradientAnisotropicDiffusion ) ; +} + +#endif // __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.cxx b/ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.cxx new file mode 100644 index 0000000..3300e5d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerGrayscaleFillHole.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GrayscaleFillHole ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GrayscaleFillHole, bbtk::AtomicBlackBox ); + + void GrayscaleFillHole::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGrayscaleFillHoleImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GrayscaleFillHole::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GrayscaleFillHole::bbUserSetDefaultValues ( ) { + } + + void GrayscaleFillHole::bbUserInitializeProcessing ( ) { + } + + void GrayscaleFillHole::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h b/ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h new file mode 100644 index 0000000..695d7e2 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerGrayscaleFillHole_h_INCLUDED__ +#define __bbSlicerGrayscaleFillHole_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GrayscaleFillHole + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GrayscaleFillHole , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GrayscaleFillHole , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GrayscaleFillHole" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "GrayscaleFillholeImageFilter fills holes in a grayscale image. Holes are local minima in the grayscale topography that are not connected to boundaries of the image. Gray level values adjacent to a hole are extrapolated across the hole.This filter is used to smooth over local minima without affecting the values of local maxima. If you take the difference between the output of this filter and the original image and perhaps threshold the difference above a small value, you'll obtain a map of the local minima.This filter uses the itkGrayscaleGeodesicErodeImageFilter. It provides its own input as the 'mask' input to the geodesic erosion. The 'marker' image for the geodesic erosion is constructed such that boundary pixels match the boundary pixels of the input image and the interior pixels are set to the maximum pixel value in the input image. Geodesic morphology and the Fillhole algorithm is described in Chapter 6 of Pierre Soille's book 'Morphological Image Analysis: Principles and Applications', Second Edition, Springer, 2003. A companion filter, Grayscale Grind Peak, removes peaks in grayscale images." ) ; + BBTK_CATEGORY ( "Filtering.Morphology" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GrayscaleFillHole , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GrayscaleFillHole , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GrayscaleFillHole ) ; +} + +#endif // __bbSlicerGrayscaleFillHole_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.cxx b/ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.cxx new file mode 100644 index 0000000..aae444b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerGrayscaleGrindPeak.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GrayscaleGrindPeak ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GrayscaleGrindPeak, bbtk::AtomicBlackBox ); + + void GrayscaleGrindPeak::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGrayscaleGrindPeakImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GrayscaleGrindPeak::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GrayscaleGrindPeak::bbUserSetDefaultValues ( ) { + } + + void GrayscaleGrindPeak::bbUserInitializeProcessing ( ) { + } + + void GrayscaleGrindPeak::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.h b/ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.h new file mode 100644 index 0000000..0b43992 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ +#define __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GrayscaleGrindPeak + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GrayscaleGrindPeak , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GrayscaleGrindPeak , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GrayscaleGrindPeak" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "GrayscaleGrindPeakImageFilter removes peaks in a grayscale image. Peaks are local maxima in the grayscale topography that are not connected to boundaries of the image. Gray level values adjacent to a peak are extrapolated through the peak.This filter is used to smooth over local maxima without affecting the values of local minima. If you take the difference between the output of this filter and the original image and perhaps threshold the difference above a small value, you'll obtain a map of the local maxima.This filter uses the GrayscaleGeodesicDilateImageFilter. It provides its own input as the 'mask' input to the geodesic erosion. The 'marker' image for the geodesic erosion is constructed such that boundary pixels match the boundary pixels of the input image and the interior pixels are set to the minimum pixel value in the input image.This filter is the dual to the GrayscaleFillholeImageFilter which implements the Fillhole algorithm. Since it is a dual, it is somewhat superfluous but is provided as a convenience.Geodesic morphology and the Fillhole algorithm is described in Chapter 6 of Pierre Soille's book 'Morphological Image Analysis: Principles and Applications', Second Edition, Springer, 2003.A companion filter, Grayscale Fill Hole, fills holes in grayscale images." ) ; + BBTK_CATEGORY ( "Filtering.Morphology" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GrayscaleGrindPeak , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GrayscaleGrindPeak , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GrayscaleGrindPeak ) ; +} + +#endif // __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerHistogramMatching.cxx b/ModuleCall/GenSrc/bbSlicerHistogramMatching.cxx new file mode 100644 index 0000000..b78a83f --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerHistogramMatching.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerHistogramMatching.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, HistogramMatching ) + BBTK_BLACK_BOX_IMPLEMENTATION ( HistogramMatching, bbtk::AtomicBlackBox ); + + void HistogramMatching::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libHistogramMatchingLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramLevels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramLevels( ) ) ) ,"@@@@@"," --numberOfHistogramLevels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--threshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputthresholdAtMeanIntensity( ) ) ) ,"@@@@@"," --threshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void HistogramMatching::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void HistogramMatching::bbUserSetDefaultValues ( ) { + } + + void HistogramMatching::bbUserInitializeProcessing ( ) { + } + + void HistogramMatching::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerHistogramMatching.h b/ModuleCall/GenSrc/bbSlicerHistogramMatching.h new file mode 100644 index 0000000..efdcef4 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerHistogramMatching.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerHistogramMatching_h_INCLUDED__ +#define __bbSlicerHistogramMatching_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT HistogramMatching + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( HistogramMatching , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( numberOfHistogramLevels , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( thresholdAtMeanIntensity , bool ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( HistogramMatching , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "HistogramMatching" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Normalizes the grayscale values of a source image based on the grayscale values of a reference image. This filter uses a histogram matching technique where the histograms of the two images are matched only at a specified number of quantile values.The filter was orginally designed to normalize MR images of the sameMR protocol and same body part. The algorithm works best if background pixels are excluded from both the source and reference histograms. A simple background exclusion method is to exclude all pixels whose grayscale values are smaller than the mean grayscale value. ThresholdAtMeanIntensity switches on this simple background exclusion method.Number of match points governs the number of quantile values to be matched.The filter assumes that both the source and reference are of the same type and that the input and output image type have the same number of dimension and have scalar pixel types." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(HistogramMatching , numberOfHistogramLevels , "numberOfHistogramLevels" , int, ""); +BBTK_INPUT(HistogramMatching , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(HistogramMatching , thresholdAtMeanIntensity , "thresholdAtMeanIntensity" , bool, ""); +BBTK_INPUT(HistogramMatching , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(HistogramMatching , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(HistogramMatching , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( HistogramMatching ) ; +} + +#endif // __bbSlicerHistogramMatching_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerImageLabelCombine.cxx b/ModuleCall/GenSrc/bbSlicerImageLabelCombine.cxx new file mode 100644 index 0000000..686720d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerImageLabelCombine.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerImageLabelCombine.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ImageLabelCombine ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ImageLabelCombine, bbtk::AtomicBlackBox ); + + void ImageLabelCombine::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libImageLabelCombineLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputLabelMap_A( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputLabelMap_B( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputLabelMap( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFirstOverwrites( ) ) ) ,"@@@@@"," -f ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ImageLabelCombine::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ImageLabelCombine::bbUserSetDefaultValues ( ) { + } + + void ImageLabelCombine::bbUserInitializeProcessing ( ) { + } + + void ImageLabelCombine::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerImageLabelCombine.h b/ModuleCall/GenSrc/bbSlicerImageLabelCombine.h new file mode 100644 index 0000000..6404950 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerImageLabelCombine.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerImageLabelCombine_h_INCLUDED__ +#define __bbSlicerImageLabelCombine_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ImageLabelCombine + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ImageLabelCombine , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputLabelMap_A , std::string ); +BBTK_DECLARE_INPUT ( InputLabelMap_B , std::string ); +BBTK_DECLARE_INPUT ( OutputLabelMap , std::string ); +BBTK_DECLARE_INPUT ( FirstOverwrites , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ImageLabelCombine , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ImageLabelCombine" ) ; + BBTK_AUTHOR ( "Alex Yarmarkovich" ) ; + BBTK_DESCRIPTION ( "Combine two label maps into one" ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ImageLabelCombine , InputLabelMap_A , "InputLabelMap_A" , std::string, ""); +BBTK_INPUT(ImageLabelCombine , InputLabelMap_B , "InputLabelMap_B" , std::string, ""); +BBTK_INPUT(ImageLabelCombine , OutputLabelMap , "OutputLabelMap" , std::string, ""); +BBTK_INPUT(ImageLabelCombine , FirstOverwrites , "FirstOverwrites" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ImageLabelCombine ) ; +} + +#endif // __bbSlicerImageLabelCombine_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.cxx b/ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.cxx new file mode 100644 index 0000000..374606d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerJointRicianLMMSEImageFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, JointRicianLMMSEImageFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( JointRicianLMMSEImageFilter, bbtk::AtomicBlackBox ); + + void JointRicianLMMSEImageFilter::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libjointLMMSELib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ng" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiNumNeighbors( ) ) ) ,"@@@@@"," --ng ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void JointRicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void JointRicianLMMSEImageFilter::bbUserSetDefaultValues ( ) { + } + + void JointRicianLMMSEImageFilter::bbUserInitializeProcessing ( ) { + } + + void JointRicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.h b/ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.h new file mode 100644 index 0000000..ace562e --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ +#define __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT JointRicianLMMSEImageFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( JointRicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector ); +BBTK_DECLARE_INPUT ( iNumNeighbors , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( JointRicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "JointRicianLMMSEImageFilter" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez. University of Valladolid SPAIN. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces Rician noise or unwanted detail on a set of diffusion weighted images. For this, it filters the image in the mean squared error sense using a Rician noise model. The N closest gradient directions to the direction being processed are filtered together to improve the results: the noise-free signal is seen as an n-diemensional vector which has to be estimated with the LMMSE method from a set of corrupted measurements. To that end, the covariance matrix of the noise-free vector and the cross covariance between this signal and the noise have to be estimated, which is done taking into account the image formation process.The noise parameter is automatically estimated from a rough segmentation of the background of the image. In this area the signal is simply 0, so that Rician statistics reduce to Rayleigh and the noise power can be easily estimated from the mode of the histogram.A complete description of the algorithm may be found in:Antonio Tristan-Vega and Santiago Aja-Fernandez, DWI filtering using joint information for DTI and HARDI, Medical Image Analysis, Volume 14, Issue 2, Pages 205-218. 2010." ) ; + BBTK_CATEGORY ( "Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(JointRicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , iNumNeighbors , "iNumNeighbors" , int, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( JointRicianLMMSEImageFilter ) ; +} + +#endif // __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.cxx b/ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.cxx new file mode 100644 index 0000000..3bd0ff5 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerLabelMapSmoothing.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, LabelMapSmoothing ) + BBTK_BLACK_BOX_IMPLEMENTATION ( LabelMapSmoothing, bbtk::AtomicBlackBox ); + + void LabelMapSmoothing::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libLabelMapSmoothingLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelToSmooth" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelToSmooth( ) ) ) ,"@@@@@"," --labelToSmooth ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --numberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRMSError" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxRMSError( ) ) ) ,"@@@@@"," --maxRMSError ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gaussianSigma" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgaussianSigma( ) ) ) ,"@@@@@"," --gaussianSigma ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void LabelMapSmoothing::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void LabelMapSmoothing::bbUserSetDefaultValues ( ) { + } + + void LabelMapSmoothing::bbUserInitializeProcessing ( ) { + } + + void LabelMapSmoothing::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h b/ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h new file mode 100644 index 0000000..38f5675 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerLabelMapSmoothing_h_INCLUDED__ +#define __bbSlicerLabelMapSmoothing_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT LabelMapSmoothing + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( LabelMapSmoothing , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( labelToSmooth , int ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( maxRMSError , float ); +BBTK_DECLARE_INPUT ( gaussianSigma , float ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( LabelMapSmoothing , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "LabelMapSmoothing" ) ; + BBTK_AUTHOR ( "Dirk Padfield, Josh Cates, Ross Whitaker" ) ; + BBTK_DESCRIPTION ( "This filter smoothes a binary label map. With a label map as input, this filter runs an anti-alising algorithm followed by a Gaussian smoothing algorithm. The output is a smoothed label map." ) ; + BBTK_CATEGORY ( "Surface Models" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(LabelMapSmoothing , labelToSmooth , "labelToSmooth" , int, ""); +BBTK_INPUT(LabelMapSmoothing , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(LabelMapSmoothing , maxRMSError , "maxRMSError" , float, ""); +BBTK_INPUT(LabelMapSmoothing , gaussianSigma , "gaussianSigma" , float, ""); +BBTK_INPUT(LabelMapSmoothing , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(LabelMapSmoothing , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( LabelMapSmoothing ) ; +} + +#endif // __bbSlicerLabelMapSmoothing_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerLinearregistration.cxx b/ModuleCall/GenSrc/bbSlicerLinearregistration.cxx new file mode 100644 index 0000000..98f4d66 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerLinearregistration.cxx @@ -0,0 +1,66 @@ +#include "bbSlicerLinearregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Linearregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Linearregistration, bbtk::AtomicBlackBox ); + + void Linearregistration::Process ( ) { + + // GENERATED + +int _argc =12; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libLinearRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLearningRate( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Linearregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Linearregistration::bbUserSetDefaultValues ( ) { + } + + void Linearregistration::bbUserInitializeProcessing ( ) { + } + + void Linearregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerLinearregistration.h b/ModuleCall/GenSrc/bbSlicerLinearregistration.h new file mode 100644 index 0000000..3f1013c --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerLinearregistration.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerLinearregistration_h_INCLUDED__ +#define __bbSlicerLinearregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Linearregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Linearregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , std::vector ); +BBTK_DECLARE_INPUT ( LearningRate , std::vector ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Linearregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Linearregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Linearregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(Linearregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(Linearregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(Linearregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(Linearregistration , Iterations , "Iterations" , std::vector, ""); +BBTK_INPUT(Linearregistration , LearningRate , "LearningRate" , std::vector, ""); +BBTK_INPUT(Linearregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(Linearregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(Linearregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(Linearregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(Linearregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(Linearregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Linearregistration ) ; +} + +#endif // __bbSlicerLinearregistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.cxx b/ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.cxx new file mode 100644 index 0000000..61d0ffe --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.cxx @@ -0,0 +1,64 @@ +#include "bbSlicerMRIBiasFieldCorrection.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MRIBiasFieldCorrection ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MRIBiasFieldCorrection, bbtk::AtomicBlackBox ); + + void MRIBiasFieldCorrection::Process ( ) { + + // GENERATED + +int _argc =10; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMRIBiasFieldCorrectionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputImage( ) ) ) ,"@@@@@"," --inputImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputMask( ) ) ) ,"@@@@@"," --inputMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputImage( ) ) ) ,"@@@@@"," --outputImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--algorithmType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputAlgorithmType( ) ) ) ,"@@@@@"," --algorithmType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputShrinkFactor( ) ) ) ,"@@@@@"," --shrinkFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumNumberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumNumberOfIterations( ) ) ) ,"@@@@@"," --maximumNumberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfFittingLevels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfFittingLevels( ) ) ) ,"@@@@@"," --numberOfFittingLevels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--wienerFilterNoise" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputWienerFilterNoise( ) ) ) ,"@@@@@"," --wienerFilterNoise ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fullWidthAtHalfMaximum" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFullWidthAtHalfMaximum( ) ) ) ,"@@@@@"," --fullWidthAtHalfMaximum ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergenceThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConvergenceThreshold( ) ) ) ,"@@@@@"," --convergenceThreshold ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MRIBiasFieldCorrection::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MRIBiasFieldCorrection::bbUserSetDefaultValues ( ) { + } + + void MRIBiasFieldCorrection::bbUserInitializeProcessing ( ) { + } + + void MRIBiasFieldCorrection::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.h b/ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.h new file mode 100644 index 0000000..10533e1 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.h @@ -0,0 +1,76 @@ +#ifndef __bbSlicerMRIBiasFieldCorrection_h_INCLUDED__ +#define __bbSlicerMRIBiasFieldCorrection_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MRIBiasFieldCorrection + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MRIBiasFieldCorrection , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputImage , std::string ); +BBTK_DECLARE_INPUT ( InputMask , std::string ); +BBTK_DECLARE_INPUT ( OutputImage , std::string ); +BBTK_DECLARE_INPUT ( AlgorithmType , std::string ); +BBTK_DECLARE_INPUT ( ShrinkFactor , int ); +BBTK_DECLARE_INPUT ( MaximumNumberOfIterations , int ); +BBTK_DECLARE_INPUT ( NumberOfFittingLevels , int ); +BBTK_DECLARE_INPUT ( WienerFilterNoise , double ); +BBTK_DECLARE_INPUT ( FullWidthAtHalfMaximum , double ); +BBTK_DECLARE_INPUT ( ConvergenceThreshold , double ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MRIBiasFieldCorrection , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MRIBiasFieldCorrection" ) ; + BBTK_AUTHOR ( "Sylvain Jaume MIT" ) ; + BBTK_DESCRIPTION ( "Corrects 3D MRI images corrupted by MRI gain field effect. This module removes the slow-varying intensity variation from a 3D image. The output image has a higher contrast locally and the visualization and reading of the image are improved. This is an important pre-processinbg step for image operations requiring intensity perfect images, such as the Expectation Maximization segmentation see EMSegment module. The N3 and N4 methods are described in N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, Tustison N., Gee J., Insight Journal, 2009. http://hdl.handle.net/10380/3053 The Slicer code was contributed by Sylvain Jaume MIT for NA-MIC http://na-mic.org." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MRIBiasFieldCorrection , InputImage , "InputImage" , std::string, ""); +BBTK_INPUT(MRIBiasFieldCorrection , InputMask , "InputMask" , std::string, ""); +BBTK_INPUT(MRIBiasFieldCorrection , OutputImage , "OutputImage" , std::string, ""); +BBTK_INPUT(MRIBiasFieldCorrection , AlgorithmType , "AlgorithmType" , std::string, ""); +BBTK_INPUT(MRIBiasFieldCorrection , ShrinkFactor , "ShrinkFactor" , int, ""); +BBTK_INPUT(MRIBiasFieldCorrection , MaximumNumberOfIterations , "MaximumNumberOfIterations" , int, ""); +BBTK_INPUT(MRIBiasFieldCorrection , NumberOfFittingLevels , "NumberOfFittingLevels" , int, ""); +BBTK_INPUT(MRIBiasFieldCorrection , WienerFilterNoise , "WienerFilterNoise" , double, ""); +BBTK_INPUT(MRIBiasFieldCorrection , FullWidthAtHalfMaximum , "FullWidthAtHalfMaximum" , double, ""); +BBTK_INPUT(MRIBiasFieldCorrection , ConvergenceThreshold , "ConvergenceThreshold" , double, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MRIBiasFieldCorrection ) ; +} + +#endif // __bbSlicerMRIBiasFieldCorrection_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMaskImage.cxx b/ModuleCall/GenSrc/bbSlicerMaskImage.cxx new file mode 100644 index 0000000..1df060b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMaskImage.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerMaskImage.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MaskImage ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MaskImage, bbtk::AtomicBlackBox ); + + void MaskImage::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMaskLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaskVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabel( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputReplace( ) ) ) ,"@@@@@"," -r ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MaskImage::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MaskImage::bbUserSetDefaultValues ( ) { + } + + void MaskImage::bbUserInitializeProcessing ( ) { + } + + void MaskImage::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMaskImage.h b/ModuleCall/GenSrc/bbSlicerMaskImage.h new file mode 100644 index 0000000..73f9b29 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMaskImage.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerMaskImage_h_INCLUDED__ +#define __bbSlicerMaskImage_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MaskImage + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MaskImage , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( MaskVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); +BBTK_DECLARE_INPUT ( Label , int ); +BBTK_DECLARE_INPUT ( Replace , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MaskImage , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MaskImage" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "Masks two images. The output image is set to 0 everywhere except where the chosen label from the mask volume is present, at which point it will retain it's original values. Although all image types are supported on input, only signed types are produced. The two images do not have to have the same dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MaskImage , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(MaskImage , MaskVolume , "MaskVolume" , std::string, ""); +BBTK_INPUT(MaskImage , OutputVolume , "OutputVolume" , std::string, ""); +BBTK_INPUT(MaskImage , Label , "Label" , int, ""); +BBTK_INPUT(MaskImage , Replace , "Replace" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MaskImage ) ; +} + +#endif // __bbSlicerMaskImage_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMedianFilter.cxx b/ModuleCall/GenSrc/bbSlicerMedianFilter.cxx new file mode 100644 index 0000000..80f8a20 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMedianFilter.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerMedianFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MedianFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MedianFilter, bbtk::AtomicBlackBox ); + + void MedianFilter::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMedianImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhood" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhood( ) ) ) ,"@@@@@"," --neighborhood ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MedianFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MedianFilter::bbUserSetDefaultValues ( ) { + } + + void MedianFilter::bbUserInitializeProcessing ( ) { + } + + void MedianFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMedianFilter.h b/ModuleCall/GenSrc/bbSlicerMedianFilter.h new file mode 100644 index 0000000..3518df1 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMedianFilter.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerMedianFilter_h_INCLUDED__ +#define __bbSlicerMedianFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MedianFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MedianFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( neighborhood , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MedianFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MedianFilter" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "The MedianImageFilter is commonly used as a robust approach for noise reduction. This filter is particularly efficient against 'salt-and-pepper' noise. In other words, it is robust to the presence of gray-level outliers. MedianImageFilter computes the value of each output pixel as the statistical median of the neighborhood of values around the corresponding input pixel." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MedianFilter , neighborhood , "neighborhood" , std::vector, ""); +BBTK_INPUT(MedianFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(MedianFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MedianFilter ) ; +} + +#endif // __bbSlicerMedianFilter_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMergeModels.cxx b/ModuleCall/GenSrc/bbSlicerMergeModels.cxx new file mode 100644 index 0000000..94312c1 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMergeModels.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerMergeModels.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MergeModels ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MergeModels, bbtk::AtomicBlackBox ); + + void MergeModels::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMergeModelsLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModel1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModel2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelOutput( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MergeModels::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MergeModels::bbUserSetDefaultValues ( ) { + } + + void MergeModels::bbUserInitializeProcessing ( ) { + } + + void MergeModels::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMergeModels.h b/ModuleCall/GenSrc/bbSlicerMergeModels.h new file mode 100644 index 0000000..085777e --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMergeModels.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerMergeModels_h_INCLUDED__ +#define __bbSlicerMergeModels_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MergeModels + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MergeModels , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( Model1 , std::string ); +BBTK_DECLARE_INPUT ( Model2 , std::string ); +BBTK_DECLARE_INPUT ( ModelOutput , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MergeModels , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MergeModels" ) ; + BBTK_AUTHOR ( "Nicole Aucoin BWH Ron Kikinis, BWH, Daniel Haehn" ) ; + BBTK_DESCRIPTION ( "Merge the polydata from two input models and output a new model with the added polydata. Uses the vtkAppendPolyData filter. Works on .vtp and .vtk surface files." ) ; + BBTK_CATEGORY ( "Surface Models" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MergeModels , Model1 , "Model1" , std::string, ""); +BBTK_INPUT(MergeModels , Model2 , "Model2" , std::string, ""); +BBTK_INPUT(MergeModels , ModelOutput , "ModelOutput" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MergeModels ) ; +} + +#endif // __bbSlicerMergeModels_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.cxx b/ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.cxx new file mode 100644 index 0000000..bdb8ba9 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.cxx @@ -0,0 +1,64 @@ +#include "bbSlicerMeshContourSegmentation.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MeshContourSegmentation ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MeshContourSegmentation, bbtk::AtomicBlackBox ); + + void MeshContourSegmentation::Process ( ) { + + // GENERATED + +int _argc =10; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libSparseFieldLevelSetContourLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputScene" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputSurface( ) ) ) ,"@@@@@"," --inputScene ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputContourSeedPts( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputModel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputModel( ) ) ) ,"@@@@@"," --outputModel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--evolve_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputevolve_its( ) ) ) ,"@@@@@"," --evolve_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mesh_smooth_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmesh_smooth_its( ) ) ) ,"@@@@@"," --mesh_smooth_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--H_smooth_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputH_smooth_its( ) ) ) ,"@@@@@"," --H_smooth_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--adj_levels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputadj_levels( ) ) ) ,"@@@@@"," --adj_levels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--showLS" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshowLS( ) ) ) ,"@@@@@"," --showLS ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rightHandMesh" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrightHandMesh( ) ) ) ,"@@@@@"," --rightHandMesh ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--is_test" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputis_test( ) ) ) ,"@@@@@"," --is_test ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MeshContourSegmentation::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MeshContourSegmentation::bbUserSetDefaultValues ( ) { + } + + void MeshContourSegmentation::bbUserInitializeProcessing ( ) { + } + + void MeshContourSegmentation::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.h b/ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.h new file mode 100644 index 0000000..0f9cdf4 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.h @@ -0,0 +1,76 @@ +#ifndef __bbSlicerMeshContourSegmentation_h_INCLUDED__ +#define __bbSlicerMeshContourSegmentation_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MeshContourSegmentation + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MeshContourSegmentation , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputSurface , std::string ); +BBTK_DECLARE_INPUT ( ContourSeedPts , std::vector > ); +BBTK_DECLARE_INPUT ( OutputModel , std::string ); +BBTK_DECLARE_INPUT ( evolve_its , int ); +BBTK_DECLARE_INPUT ( mesh_smooth_its , int ); +BBTK_DECLARE_INPUT ( H_smooth_its , int ); +BBTK_DECLARE_INPUT ( adj_levels , int ); +BBTK_DECLARE_INPUT ( showLS , bool ); +BBTK_DECLARE_INPUT ( rightHandMesh , bool ); +BBTK_DECLARE_INPUT ( is_test , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MeshContourSegmentation , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MeshContourSegmentation" ) ; + BBTK_AUTHOR ( "Peter Karasev, pkarasev@gatech.edu, Allen Tannenbaum, tannenba@ece.gatech.edu" ) ; + BBTK_DESCRIPTION ( "Sparse-Field Levelset Mesh Segmentation. Given some initial points in polydata will construct a contour and evolve it to high mean-curvature areas, returning the interior region indices.Once the output surface has been loaded into Slicer, go to the Models module, Model Display pane, and set the Scalar Visibility Flag, select the LevelSetValue as the active scalar array, and pick the FreeSurfer RedGreen Scalar Color Map. The InitialCurvature and SmoothedCurvature may appear if the path finding failed. An example calling convention from the commandline for this module:--inputScene C:/.../bin/Release/LSVTKOut1.vtk' -c '1.5,1.5,0' -c '-1.5,1.5,0' -c '-1.5,-1.5,0' -c '1.5,-1.5,0' --outputFilename 'tempOut.vtk'This gives it an initial geometry in the vtk file, four seed points in x,y,z coordinates, and where to write the output.The resulting output contains a colormap that defines interior/exterior of the surface as determined by evolving the curve into high mean curvature areas." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MeshContourSegmentation , InputSurface , "InputSurface" , std::string, ""); +BBTK_INPUT(MeshContourSegmentation , ContourSeedPts , "ContourSeedPts" , std::vector >, ""); +BBTK_INPUT(MeshContourSegmentation , OutputModel , "OutputModel" , std::string, ""); +BBTK_INPUT(MeshContourSegmentation , evolve_its , "evolve_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , mesh_smooth_its , "mesh_smooth_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , H_smooth_its , "H_smooth_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , adj_levels , "adj_levels" , int, ""); +BBTK_INPUT(MeshContourSegmentation , showLS , "showLS" , bool, ""); +BBTK_INPUT(MeshContourSegmentation , rightHandMesh , "rightHandMesh" , bool, ""); +BBTK_INPUT(MeshContourSegmentation , is_test , "is_test" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MeshContourSegmentation ) ; +} + +#endif // __bbSlicerMeshContourSegmentation_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerModelMaker.cxx b/ModuleCall/GenSrc/bbSlicerModelMaker.cxx new file mode 100644 index 0000000..2f7737c --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerModelMaker.cxx @@ -0,0 +1,72 @@ +#include "bbSlicerModelMaker.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ModelMaker ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ModelMaker, bbtk::AtomicBlackBox ); + + void ModelMaker::Process ( ) { + + // GENERATED + +int _argc =18; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libModelMakerLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modelSceneFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelSceneFile( ) ) ) ,"@@@@@"," --modelSceneFile ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputName( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--generateAll" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputGenerateAll( ) ) ) ,"@@@@@"," --generateAll ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabels( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputStartLabel( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputEndLabel( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skipUnNamed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkipUnNamed( ) ) ) ,"@@@@@"," --skipUnNamed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-j" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputJointSmoothing( ) ) ) ,"@@@@@"," -j ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smooth" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSmooth( ) ) ) ,"@@@@@"," --smooth ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--filtertype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFilterType( ) ) ) ,"@@@@@"," --filtertype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--decimate" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDecimate( ) ) ) ,"@@@@@"," --decimate ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splitnormals" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSplitNormals( ) ) ) ,"@@@@@"," --splitnormals ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointnormals" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPointNormals( ) ) ) ,"@@@@@"," --pointnormals ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pad" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPad( ) ) ) ,"@@@@@"," --pad ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveIntermediateModels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSaveIntermediateModels( ) ) ) ,"@@@@@"," --saveIntermediateModels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebug( ) ) ) ,"@@@@@"," -d ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ModelMaker::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ModelMaker::bbUserSetDefaultValues ( ) { + } + + void ModelMaker::bbUserInitializeProcessing ( ) { + } + + void ModelMaker::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerModelMaker.h b/ModuleCall/GenSrc/bbSlicerModelMaker.h new file mode 100644 index 0000000..05045b3 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerModelMaker.h @@ -0,0 +1,92 @@ +#ifndef __bbSlicerModelMaker_h_INCLUDED__ +#define __bbSlicerModelMaker_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ModelMaker + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ModelMaker , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( ColorTable , std::string ); +BBTK_DECLARE_INPUT ( ModelSceneFile , std::string ); +BBTK_DECLARE_INPUT ( Name , std::string ); +BBTK_DECLARE_INPUT ( GenerateAll , bool ); +BBTK_DECLARE_INPUT ( Labels , std::vector ); +BBTK_DECLARE_INPUT ( StartLabel , int ); +BBTK_DECLARE_INPUT ( EndLabel , int ); +BBTK_DECLARE_INPUT ( SkipUnNamed , bool ); +BBTK_DECLARE_INPUT ( JointSmoothing , bool ); +BBTK_DECLARE_INPUT ( Smooth , int ); +BBTK_DECLARE_INPUT ( FilterType , std::string ); +BBTK_DECLARE_INPUT ( Decimate , float ); +BBTK_DECLARE_INPUT ( SplitNormals , bool ); +BBTK_DECLARE_INPUT ( PointNormals , bool ); +BBTK_DECLARE_INPUT ( Pad , bool ); +BBTK_DECLARE_INPUT ( SaveIntermediateModels , bool ); +BBTK_DECLARE_INPUT ( debug , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ModelMaker , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ModelMaker" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH, Bill Lorensen GE" ) ; + BBTK_DESCRIPTION ( "Create 3D surface models from segmented data. pModels are imported into Slicer under a model hierarchy node in a MRML scene. The model colors are set by the color table associated with the input volume these colours will only be visible if you load the model scene file. /ppbCreate Multiple:/b/pp If you specify a list of Labels, it will over ride any start/end label settings. /pp If you click iGenerate All/i it will over ride the list of lables and any start/end label settings. /ppbModel Maker Settings:/b/pp You can set the number of smoothing iterations, target reduction in number of polygons decimal percentage. Use 0 and 1 if you wish no smoothing nor decimation. brYou can set the flags to split normals or generate point normals in this pane as well. brYou can save a copy of the models after intermediate steps marching cubes, smoothing, and decimation if not joint smoothing, otherwise just after decimation; these models are not saved in the mrml file, turn off deleting temporary files first in the python window: brislicer.modules.modelmaker.cliModuleLogic.DeleteTemporaryFilesOff/i/p" ) ; + BBTK_CATEGORY ( "Surface Models" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ModelMaker , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ModelMaker , ColorTable , "ColorTable" , std::string, ""); +BBTK_INPUT(ModelMaker , ModelSceneFile , "ModelSceneFile" , std::string, ""); +BBTK_INPUT(ModelMaker , Name , "Name" , std::string, ""); +BBTK_INPUT(ModelMaker , GenerateAll , "GenerateAll" , bool, ""); +BBTK_INPUT(ModelMaker , Labels , "Labels" , std::vector, ""); +BBTK_INPUT(ModelMaker , StartLabel , "StartLabel" , int, ""); +BBTK_INPUT(ModelMaker , EndLabel , "EndLabel" , int, ""); +BBTK_INPUT(ModelMaker , SkipUnNamed , "SkipUnNamed" , bool, ""); +BBTK_INPUT(ModelMaker , JointSmoothing , "JointSmoothing" , bool, ""); +BBTK_INPUT(ModelMaker , Smooth , "Smooth" , int, ""); +BBTK_INPUT(ModelMaker , FilterType , "FilterType" , std::string, ""); +BBTK_INPUT(ModelMaker , Decimate , "Decimate" , float, ""); +BBTK_INPUT(ModelMaker , SplitNormals , "SplitNormals" , bool, ""); +BBTK_INPUT(ModelMaker , PointNormals , "PointNormals" , bool, ""); +BBTK_INPUT(ModelMaker , Pad , "Pad" , bool, ""); +BBTK_INPUT(ModelMaker , SaveIntermediateModels , "SaveIntermediateModels" , bool, ""); +BBTK_INPUT(ModelMaker , debug , "debug" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ModelMaker ) ; +} + +#endif // __bbSlicerModelMaker_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.cxx b/ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.cxx new file mode 100644 index 0000000..4eb9c42 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerMultiplemodelsexample.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Multiplemodelsexample ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Multiplemodelsexample, bbtk::AtomicBlackBox ); + + void Multiplemodelsexample::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMultipleModelsExampleLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfModels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfModels( ) ) ) ,"@@@@@"," --numberOfModels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--models" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModels( ) ) ) ,"@@@@@"," --models ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Multiplemodelsexample::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Multiplemodelsexample::bbUserSetDefaultValues ( ) { + } + + void Multiplemodelsexample::bbUserInitializeProcessing ( ) { + } + + void Multiplemodelsexample::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.h b/ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.h new file mode 100644 index 0000000..5b663ce --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerMultiplemodelsexample_h_INCLUDED__ +#define __bbSlicerMultiplemodelsexample_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Multiplemodelsexample + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Multiplemodelsexample , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( ColorTable , std::string ); +BBTK_DECLARE_INPUT ( NumberOfModels , int ); +BBTK_DECLARE_INPUT ( Models , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Multiplemodelsexample , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Multiplemodelsexample" ) ; + BBTK_AUTHOR ( "Nicole Aucoin" ) ; + BBTK_DESCRIPTION ( "Create 3D surface models from segmented data.This example exports colors and imports a set of models automatically.If specify a list of Labels, it will over ride any start/end label settings." ) ; + BBTK_CATEGORY ( "Developer Tools" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Multiplemodelsexample , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(Multiplemodelsexample , ColorTable , "ColorTable" , std::string, ""); +BBTK_INPUT(Multiplemodelsexample , NumberOfModels , "NumberOfModels" , int, ""); +BBTK_INPUT(Multiplemodelsexample , Models , "Models" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Multiplemodelsexample ) ; +} + +#endif // __bbSlicerMultiplemodelsexample_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx b/ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx new file mode 100644 index 0000000..2e2414d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerMultiplyImages.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MultiplyImages ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MultiplyImages, bbtk::AtomicBlackBox ); + + void MultiplyImages::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMultiplyLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MultiplyImages::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MultiplyImages::bbUserSetDefaultValues ( ) { + } + + void MultiplyImages::bbUserInitializeProcessing ( ) { + } + + void MultiplyImages::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerMultiplyImages.h b/ModuleCall/GenSrc/bbSlicerMultiplyImages.h new file mode 100644 index 0000000..4b41b7e --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerMultiplyImages.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerMultiplyImages_h_INCLUDED__ +#define __bbSlicerMultiplyImages_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MultiplyImages + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MultiplyImages , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( inputVolume2 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( order , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MultiplyImages , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MultiplyImages" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Multiplies two images. Although all image types are supported on input, only signed types are produced. The two images do not have to have the same dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MultiplyImages , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(MultiplyImages , inputVolume2 , "inputVolume2" , std::string, ""); +BBTK_INPUT(MultiplyImages , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(MultiplyImages , order , "order" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MultiplyImages ) ; +} + +#endif // __bbSlicerMultiplyImages_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx b/ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx new file mode 100644 index 0000000..5cf847e --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx @@ -0,0 +1,66 @@ +#include "bbSlicerN4ITKMRIBiascorrection.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, N4ITKMRIBiascorrection ) + BBTK_BLACK_BOX_IMPLEMENTATION ( N4ITKMRIBiascorrection, bbtk::AtomicBlackBox ); + + void N4ITKMRIBiascorrection::Process ( ) { + + // GENERATED + +int _argc =12; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libN4ITKBiasFieldCorrectionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputImageName( ) ) ) ,"@@@@@"," --inputimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskImageName( ) ) ) ,"@@@@@"," --maskimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageName( ) ) ) ,"@@@@@"," --outputimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputbiasfield" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputBiasFieldName( ) ) ) ,"@@@@@"," --outputbiasfield ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergencethreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconvergenceThreshold( ) ) ) ,"@@@@@"," --convergencethreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--meshresolution" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialMeshResolution( ) ) ) ,"@@@@@"," --meshresolution ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splinedistance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineDistance( ) ) ) ,"@@@@@"," --splinedistance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshrinkFactor( ) ) ) ,"@@@@@"," --shrinkfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineorder" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineOrder( ) ) ) ,"@@@@@"," --bsplineorder ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--weightimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputweightImageName( ) ) ) ,"@@@@@"," --weightimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--histogramsharpening" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramSharpening( ) ) ) ,"@@@@@"," --histogramsharpening ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void N4ITKMRIBiascorrection::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void N4ITKMRIBiascorrection::bbUserSetDefaultValues ( ) { + } + + void N4ITKMRIBiascorrection::bbUserInitializeProcessing ( ) { + } + + void N4ITKMRIBiascorrection::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.h b/ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.h new file mode 100644 index 0000000..288c385 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ +#define __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT N4ITKMRIBiascorrection + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputImageName , std::string ); +BBTK_DECLARE_INPUT ( maskImageName , std::string ); +BBTK_DECLARE_INPUT ( outputImageName , std::string ); +BBTK_DECLARE_INPUT ( outputBiasFieldName , std::string ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( convergenceThreshold , float ); +BBTK_DECLARE_INPUT ( initialMeshResolution , std::vector ); +BBTK_DECLARE_INPUT ( splineDistance , float ); +BBTK_DECLARE_INPUT ( shrinkFactor , int ); +BBTK_DECLARE_INPUT ( bsplineOrder , int ); +BBTK_DECLARE_INPUT ( weightImageName , std::string ); +BBTK_DECLARE_INPUT ( histogramSharpening , std::vector ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "N4ITKMRIBiascorrection" ) ; + BBTK_AUTHOR ( "Nick Tustison algorithm and ITK implementation, Andrey Fedorov Slicer wrapping, Ron Kikinis PI" ) ; + BBTK_DESCRIPTION ( "Performs MRI bias correction using N4 algorithm. This module is based on the ITK filters contributed in the following publication: Tustison N, Gee J 'N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction', The Insight Journal 2009 January-June, http://hdl.handle.net/10380/3053" ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(N4ITKMRIBiascorrection , inputImageName , "inputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , maskImageName , "maskImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputImageName , "outputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputBiasFieldName , "outputBiasFieldName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , convergenceThreshold , "convergenceThreshold" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , initialMeshResolution , "initialMeshResolution" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , splineDistance , "splineDistance" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , shrinkFactor , "shrinkFactor" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , bsplineOrder , "bsplineOrder" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , weightImageName , "weightImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , histogramSharpening , "histogramSharpening" , std::vector, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection ) ; +} + +#endif // __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerOrientImages.cxx b/ModuleCall/GenSrc/bbSlicerOrientImages.cxx new file mode 100644 index 0000000..defb112 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerOrientImages.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerOrientImages.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, OrientImages ) + BBTK_BLACK_BOX_IMPLEMENTATION ( OrientImages, bbtk::AtomicBlackBox ); + + void OrientImages::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOrientImageLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorientation( ) ) ) ,"@@@@@"," -o ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void OrientImages::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void OrientImages::bbUserSetDefaultValues ( ) { + } + + void OrientImages::bbUserInitializeProcessing ( ) { + } + + void OrientImages::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerOrientImages.h b/ModuleCall/GenSrc/bbSlicerOrientImages.h new file mode 100644 index 0000000..4c6becd --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerOrientImages.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerOrientImages_h_INCLUDED__ +#define __bbSlicerOrientImages_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT OrientImages + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( OrientImages , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( orientation , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OrientImages , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "OrientImages" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Orients an output volume. Rearranges the slices in a volume according to the selected orientation. The slices are not interpolated. They are just reordered and/or permuted. The resulting volume will cover the original volume. NOTE: since Slicer takes into account the orientation of a volume, the re-oriented volume will not show any difference from the original volume, To see the difference, save the volume and display it with a system that either ignores the orientation of the image e.g. Paraview or displays individual images." ) ; + BBTK_CATEGORY ( "Converters" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(OrientImages , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(OrientImages , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(OrientImages , orientation , "orientation" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( OrientImages ) ; +} + +#endif // __bbSlicerOrientImages_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx b/ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx new file mode 100644 index 0000000..1dfb42b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerOtsuThreshold.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, OtsuThreshold ) + BBTK_BLACK_BOX_IMPLEMENTATION ( OtsuThreshold, bbtk::AtomicBlackBox ); + + void OtsuThreshold::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOtsuThresholdImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--insideValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinsideValue( ) ) ) ,"@@@@@"," --insideValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outsideValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutsideValue( ) ) ) ,"@@@@@"," --outsideValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ) ,"@@@@@"," --numberOfBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void OtsuThreshold::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void OtsuThreshold::bbUserSetDefaultValues ( ) { + } + + void OtsuThreshold::bbUserInitializeProcessing ( ) { + } + + void OtsuThreshold::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerOtsuThreshold.h b/ModuleCall/GenSrc/bbSlicerOtsuThreshold.h new file mode 100644 index 0000000..d179f2d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerOtsuThreshold.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerOtsuThreshold_h_INCLUDED__ +#define __bbSlicerOtsuThreshold_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT OtsuThreshold + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( OtsuThreshold , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( insideValue , int ); +BBTK_DECLARE_INPUT ( outsideValue , int ); +BBTK_DECLARE_INPUT ( numberOfBins , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OtsuThreshold , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "OtsuThreshold" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "This filter creates a binary thresholded image that separates an image into foreground and background components. The filter calculates the optimum threshold separating those two classes so that their combined spread intra-class variance is minimal see http://en.wikipedia.org/wiki/Otsu%27s_method. Then the filter applies that threshold to the input image using the itkBinaryThresholdImageFilter. The numberOfHistogram bins can be set for the Otsu Calculator. The insideValue and outsideValue can be set for the BinaryThresholdImageFilter. The filter produces a labeled volume.The original reference is: N.Otsu, ‘‘A threshold selection method from gray level histograms,’’ IEEE Trans.Syst.ManCybern.SMC-9,62–66 1979." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(OtsuThreshold , insideValue , "insideValue" , int, ""); +BBTK_INPUT(OtsuThreshold , outsideValue , "outsideValue" , int, ""); +BBTK_INPUT(OtsuThreshold , numberOfBins , "numberOfBins" , int, ""); +BBTK_INPUT(OtsuThreshold , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(OtsuThreshold , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( OtsuThreshold ) ; +} + +#endif // __bbSlicerOtsuThreshold_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.cxx b/ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.cxx new file mode 100644 index 0000000..7be627b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerOtsuThresholdSegmentation.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, OtsuThresholdSegmentation ) + BBTK_BLACK_BOX_IMPLEMENTATION ( OtsuThresholdSegmentation, bbtk::AtomicBlackBox ); + + void OtsuThresholdSegmentation::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOtsuThresholdSegmentationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--brightObjects" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbrightObjects( ) ) ) ,"@@@@@"," --brightObjects ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ) ,"@@@@@"," --numberOfBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--faceConnected" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfaceConnected( ) ) ) ,"@@@@@"," --faceConnected ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumObjectSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumObjectSize( ) ) ) ,"@@@@@"," --minimumObjectSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void OtsuThresholdSegmentation::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void OtsuThresholdSegmentation::bbUserSetDefaultValues ( ) { + } + + void OtsuThresholdSegmentation::bbUserInitializeProcessing ( ) { + } + + void OtsuThresholdSegmentation::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.h b/ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.h new file mode 100644 index 0000000..f96db1b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerOtsuThresholdSegmentation_h_INCLUDED__ +#define __bbSlicerOtsuThresholdSegmentation_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT OtsuThresholdSegmentation + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( OtsuThresholdSegmentation , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( brightObjects , bool ); +BBTK_DECLARE_INPUT ( numberOfBins , int ); +BBTK_DECLARE_INPUT ( faceConnected , bool ); +BBTK_DECLARE_INPUT ( minimumObjectSize , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OtsuThresholdSegmentation , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "OtsuThresholdSegmentation" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "This filter creates a labeled image from a grayscale image. First, it calculates an optimal threshold that separates the image into foreground and background. This threshold separates those two classes so that their intra-class variance is minimal see http://en.wikipedia.org/wiki/Otsu%27s_method. Then the filter runs a connected component algorithm to generate unique labels for each connected region of the foreground. Finally, the resulting image is relabeled to provide consecutive numbering." ) ; + BBTK_CATEGORY ( "Legacy.Segmentation" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(OtsuThresholdSegmentation , brightObjects , "brightObjects" , bool, ""); +BBTK_INPUT(OtsuThresholdSegmentation , numberOfBins , "numberOfBins" , int, ""); +BBTK_INPUT(OtsuThresholdSegmentation , faceConnected , "faceConnected" , bool, ""); +BBTK_INPUT(OtsuThresholdSegmentation , minimumObjectSize , "minimumObjectSize" , int, ""); +BBTK_INPUT(OtsuThresholdSegmentation , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(OtsuThresholdSegmentation , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( OtsuThresholdSegmentation ) ; +} + +#endif // __bbSlicerOtsuThresholdSegmentation_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.cxx b/ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.cxx new file mode 100644 index 0000000..bc2f2aa --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerPolyDataToLabelMap.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, PolyDataToLabelMap ) + BBTK_BLACK_BOX_IMPLEMENTATION ( PolyDataToLabelMap, bbtk::AtomicBlackBox ); + + void PolyDataToLabelMap::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libPolyDataToLabelmapLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--distance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsampleDistance( ) ) ) ,"@@@@@"," --distance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsurface( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void PolyDataToLabelMap::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void PolyDataToLabelMap::bbUserSetDefaultValues ( ) { + } + + void PolyDataToLabelMap::bbUserInitializeProcessing ( ) { + } + + void PolyDataToLabelMap::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.h b/ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.h new file mode 100644 index 0000000..b35d201 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerPolyDataToLabelMap_h_INCLUDED__ +#define __bbSlicerPolyDataToLabelMap_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT PolyDataToLabelMap + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( PolyDataToLabelMap , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( sampleDistance , float ); +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( surface , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( PolyDataToLabelMap , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "PolyDataToLabelMap" ) ; + BBTK_AUTHOR ( "Nicole Aucoin BWH, Xiaodong Tao, GE" ) ; + BBTK_DESCRIPTION ( "Intersects an input model with an reference volume and produces an output label map." ) ; + BBTK_CATEGORY ( "Surface Models" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(PolyDataToLabelMap , sampleDistance , "sampleDistance" , float, ""); +BBTK_INPUT(PolyDataToLabelMap , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(PolyDataToLabelMap , surface , "surface" , std::string, ""); +BBTK_INPUT(PolyDataToLabelMap , OutputVolume , "OutputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( PolyDataToLabelMap ) ; +} + +#endif // __bbSlicerPolyDataToLabelMap_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerResampleDTIVolume.cxx b/ModuleCall/GenSrc/bbSlicerResampleDTIVolume.cxx new file mode 100644 index 0000000..1584f25 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerResampleDTIVolume.cxx @@ -0,0 +1,80 @@ +#include "bbSlicerResampleDTIVolume.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleDTIVolume ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleDTIVolume, bbtk::AtomicBlackBox ); + + void ResampleDTIVolume::Process ( ) { + + // GENERATED + +int _argc =26; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libResampleDTILib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-R" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@"," -R ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformationFile( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-H" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeffield( ) ) ) ,"@@@@@"," -H ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hfieldtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtypeOfField( ) ) ) ,"@@@@@"," --hfieldtype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationType( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--correction" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcorrection( ) ) ) ,"@@@@@"," --correction ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-T" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputppd( ) ) ) ,"@@@@@"," -T ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform_order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformsOrder( ) ) ) ,"@@@@@"," --transform_order ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--notbulk" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnotbulk( ) ) ) ,"@@@@@"," --notbulk ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--spaceChange" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputspace( ) ) ) ,"@@@@@"," --spaceChange ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrotationPoint( ) ) ) ,"@@@@@"," -r ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcenteredTransform( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image_center" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimageCenter( ) ) ) ,"@@@@@"," --image_center ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinverseITKTransformation( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageSpacing( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-z" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageSize( ) ) ) ,"@@@@@"," -z ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageOrigin( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdirectionMatrix( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThread( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdefaultPixelValue( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-W" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwindowFunction( ) ) ) ,"@@@@@"," -W ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineOrder( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformMatrix( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," -t ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleDTIVolume::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleDTIVolume::bbUserSetDefaultValues ( ) { + } + + void ResampleDTIVolume::bbUserInitializeProcessing ( ) { + } + + void ResampleDTIVolume::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h b/ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h new file mode 100644 index 0000000..0c7f48f --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h @@ -0,0 +1,108 @@ +#ifndef __bbSlicerResampleDTIVolume_h_INCLUDED__ +#define __bbSlicerResampleDTIVolume_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleDTIVolume + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleDTIVolume , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( transformationFile , std::string ); +BBTK_DECLARE_INPUT ( deffield , std::string ); +BBTK_DECLARE_INPUT ( typeOfField , std::string ); +BBTK_DECLARE_INPUT ( interpolationType , std::string ); +BBTK_DECLARE_INPUT ( correction , std::string ); +BBTK_DECLARE_INPUT ( ppd , std::string ); +BBTK_DECLARE_INPUT ( transformsOrder , std::string ); +BBTK_DECLARE_INPUT ( notbulk , bool ); +BBTK_DECLARE_INPUT ( space , bool ); +BBTK_DECLARE_INPUT ( rotationPoint , std::vector ); +BBTK_DECLARE_INPUT ( centeredTransform , bool ); +BBTK_DECLARE_INPUT ( imageCenter , std::string ); +BBTK_DECLARE_INPUT ( inverseITKTransformation , bool ); +BBTK_DECLARE_INPUT ( outputImageSpacing , std::vector ); +BBTK_DECLARE_INPUT ( outputImageSize , std::vector ); +BBTK_DECLARE_INPUT ( outputImageOrigin , std::vector ); +BBTK_DECLARE_INPUT ( directionMatrix , std::vector ); +BBTK_DECLARE_INPUT ( numberOfThread , int ); +BBTK_DECLARE_INPUT ( defaultPixelValue , double ); +BBTK_DECLARE_INPUT ( windowFunction , std::string ); +BBTK_DECLARE_INPUT ( splineOrder , int ); +BBTK_DECLARE_INPUT ( transformMatrix , std::vector ); +BBTK_DECLARE_INPUT ( transformType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleDTIVolume , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleDTIVolume" ) ; + BBTK_AUTHOR ( "Francois Budin" ) ; + BBTK_DESCRIPTION ( "Resampling an image is a very important task in image analysis. It is especially important in the frame of image registration. This module implements DT image resampling through the use of itk Transforms. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions." ) ; + BBTK_CATEGORY ( "Diffusion.Utilities" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleDTIVolume , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , transformationFile , "transformationFile" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , deffield , "deffield" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , typeOfField , "typeOfField" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , interpolationType , "interpolationType" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , correction , "correction" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , ppd , "ppd" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , transformsOrder , "transformsOrder" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , notbulk , "notbulk" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , space , "space" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , rotationPoint , "rotationPoint" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , centeredTransform , "centeredTransform" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , imageCenter , "imageCenter" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , inverseITKTransformation , "inverseITKTransformation" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageSpacing , "outputImageSpacing" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageSize , "outputImageSize" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageOrigin , "outputImageOrigin" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , directionMatrix , "directionMatrix" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , numberOfThread , "numberOfThread" , int, ""); +BBTK_INPUT(ResampleDTIVolume , defaultPixelValue , "defaultPixelValue" , double, ""); +BBTK_INPUT(ResampleDTIVolume , windowFunction , "windowFunction" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , splineOrder , "splineOrder" , int, ""); +BBTK_INPUT(ResampleDTIVolume , transformMatrix , "transformMatrix" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , transformType , "transformType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleDTIVolume ) ; +} + +#endif // __bbSlicerResampleDTIVolume_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.cxx b/ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.cxx new file mode 100644 index 0000000..40b2238 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerResampleImageBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleImageBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleImageBRAINS, bbtk::AtomicBlackBox ); + + void ResampleImageBRAINS::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSResampleLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@"," --inputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--referenceVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@"," --referenceVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpixelType( ) ) ) ,"@@@@@"," --pixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--deformationVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeformationVolume( ) ) ) ,"@@@@@"," --deformationVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--warpTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwarpTransform( ) ) ) ,"@@@@@"," --warpTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inverseTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinverseTransform( ) ) ) ,"@@@@@"," --inverseTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defaultValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdefaultValue( ) ) ) ,"@@@@@"," --defaultValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gridSpacing" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSpacing( ) ) ) ,"@@@@@"," --gridSpacing ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleImageBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleImageBRAINS::bbUserSetDefaultValues ( ) { + } + + void ResampleImageBRAINS::bbUserInitializeProcessing ( ) { + } + + void ResampleImageBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.h b/ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.h new file mode 100644 index 0000000..536d0a8 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerResampleImageBRAINS_h_INCLUDED__ +#define __bbSlicerResampleImageBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleImageBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleImageBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( pixelType , std::string ); +BBTK_DECLARE_INPUT ( deformationVolume , std::string ); +BBTK_DECLARE_INPUT ( warpTransform , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( inverseTransform , bool ); +BBTK_DECLARE_INPUT ( defaultValue , float ); +BBTK_DECLARE_INPUT ( gridSpacing , std::vector ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleImageBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleImageBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Vincent Magnotta, Greg Harris, and Hans Johnson." ) ; + BBTK_DESCRIPTION ( "This program resamples an image image using a deformation field or a transform BSpline, Affine, Rigid, etc.." ) ; + BBTK_CATEGORY ( "Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleImageBRAINS , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , pixelType , "pixelType" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , deformationVolume , "deformationVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , warpTransform , "warpTransform" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , inverseTransform , "inverseTransform" , bool, ""); +BBTK_INPUT(ResampleImageBRAINS , defaultValue , "defaultValue" , float, ""); +BBTK_INPUT(ResampleImageBRAINS , gridSpacing , "gridSpacing" , std::vector, ""); +BBTK_INPUT(ResampleImageBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleImageBRAINS ) ; +} + +#endif // __bbSlicerResampleImageBRAINS_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerResampleScalarVolume.cxx b/ModuleCall/GenSrc/bbSlicerResampleScalarVolume.cxx new file mode 100644 index 0000000..69a8256 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerResampleScalarVolume.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerResampleScalarVolume.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleScalarVolume ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleScalarVolume, bbtk::AtomicBlackBox ); + + void ResampleScalarVolume::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libResampleVolumeLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelSpacing( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationType( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleScalarVolume::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleScalarVolume::bbUserSetDefaultValues ( ) { + } + + void ResampleScalarVolume::bbUserInitializeProcessing ( ) { + } + + void ResampleScalarVolume::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerResampleScalarVolume.h b/ModuleCall/GenSrc/bbSlicerResampleScalarVolume.h new file mode 100644 index 0000000..a7ba623 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerResampleScalarVolume.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerResampleScalarVolume_h_INCLUDED__ +#define __bbSlicerResampleScalarVolume_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleScalarVolume + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( outputPixelSpacing , std::vector ); +BBTK_DECLARE_INPUT ( interpolationType , std::string ); +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleScalarVolume" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Resampling an image is an important task in image analysis. It is especially important in the frame of image registration. This module implements image resampling through the use of itk Transforms. This module uses an Identity Transform. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions. Several interpolators are available: linear, nearest neighbor, bspline and five flavors of sinc. The sinc interpolators, although more precise, are much slower than the linear and nearest neighbor interpolator. To resample label volumnes, nearest neighbor interpolation should be used exclusively." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleScalarVolume , outputPixelSpacing , "outputPixelSpacing" , std::vector, ""); +BBTK_INPUT(ResampleScalarVolume , interpolationType , "interpolationType" , std::string, ""); +BBTK_INPUT(ResampleScalarVolume , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ResampleScalarVolume , OutputVolume , "OutputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleScalarVolume ) ; +} + +#endif // __bbSlicerResampleScalarVolume_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.cxx b/ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.cxx new file mode 100644 index 0000000..0635dd4 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerRicianLMMSEImageFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RicianLMMSEImageFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RicianLMMSEImageFilter, bbtk::AtomicBlackBox ); + + void RicianLMMSEImageFilter::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libdwiNoiseFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiIterations( ) ) ) ,"@@@@@"," --iter ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnvf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsF( ) ) ) ,"@@@@@"," --mnvf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnve" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsE( ) ) ) ,"@@@@@"," --mnve ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMinSTD( ) ) ) ,"@@@@@"," --minnstd ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMaxSTD( ) ) ) ,"@@@@@"," --maxnstd ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hrf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdResFact( ) ) ) ,"@@@@@"," --hrf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--uav" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbUseAbsoluteValue( ) ) ) ,"@@@@@"," --uav ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RicianLMMSEImageFilter::bbUserSetDefaultValues ( ) { + } + + void RicianLMMSEImageFilter::bbUserInitializeProcessing ( ) { + } + + void RicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.h b/ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.h new file mode 100644 index 0000000..b734698 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ +#define __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RicianLMMSEImageFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iIterations , int ); +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector ); +BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsF , int ); +BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsE , int ); +BBTK_DECLARE_INPUT ( dMinSTD , int ); +BBTK_DECLARE_INPUT ( dMaxSTD , int ); +BBTK_DECLARE_INPUT ( dResFact , double ); +BBTK_DECLARE_INPUT ( bUseAbsoluteValue , bool ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RicianLMMSEImageFilter" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez and Marc Niethammer. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces noise or unwanted detail on a set of diffusion weighted images. For this, it filters the image in the mean squared error sense using a Rician noise model. Images corresponding to each gradient direction, including baseline, are processed individually. The noise parameter is automatically estimated noise estimation improved but slower.Note that this is a general purpose filter for MRi images. The module jointLMMSE has been specifically designed for DWI volumes and shows a better performance, so its use is recommended instead.A complete description of the algorithm in this module can be found in:S. Aja-Fernandez, M. Niethammer, M. Kubicki, M. Shenton, and C.-F. Westin. Restoration of DWI data using a Rician LMMSE estimator. IEEE Transactions on Medical Imaging, 2710: pp. 1389-1403, Oct. 2008." ) ; + BBTK_CATEGORY ( "Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RicianLMMSEImageFilter , iIterations , "iIterations" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsF , "iMinimumNumberOfUsedVoxelsF" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsE , "iMinimumNumberOfUsedVoxelsE" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dMinSTD , "dMinSTD" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dMaxSTD , "dMaxSTD" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dResFact , "dResFact" , double, ""); +BBTK_INPUT(RicianLMMSEImageFilter , bUseAbsoluteValue , "bUseAbsoluteValue" , bool, ""); +BBTK_INPUT(RicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(RicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter ) ; +} + +#endif // __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.cxx b/ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.cxx new file mode 100644 index 0000000..eec8b2d --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerRobustMultiresolutionAffineRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RobustMultiresolutionAffineRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RobustMultiresolutionAffineRegistration, bbtk::AtomicBlackBox ); + + void RobustMultiresolutionAffineRegistration::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRegisterImagesMultiResModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputresampledImage( ) ) ) ,"@@@@@"," --resampledImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageMask( ) ) ) ,"@@@@@"," --fixedImageMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageROI( ) ) ) ,"@@@@@"," --fixedImageROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumIterations( ) ) ) ,"@@@@@"," --numIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numLineIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumLineIterations( ) ) ) ,"@@@@@"," --numLineIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--stepSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstepSize( ) ) ) ,"@@@@@"," --stepSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--stepTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstepTolerance( ) ) ) ,"@@@@@"," --stepTolerance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--metricTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmetricTolerance( ) ) ) ,"@@@@@"," --metricTolerance ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RobustMultiresolutionAffineRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RobustMultiresolutionAffineRegistration::bbUserSetDefaultValues ( ) { + } + + void RobustMultiresolutionAffineRegistration::bbUserInitializeProcessing ( ) { + } + + void RobustMultiresolutionAffineRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.h b/ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.h new file mode 100644 index 0000000..e71228a --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ +#define __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RobustMultiresolutionAffineRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RobustMultiresolutionAffineRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedImage , std::string ); +BBTK_DECLARE_INPUT ( movingImage , std::string ); +BBTK_DECLARE_INPUT ( resampledImage , std::string ); +BBTK_DECLARE_INPUT ( outputTransform , std::string ); +BBTK_DECLARE_INPUT ( fixedImageMask , std::string ); +BBTK_DECLARE_INPUT ( fixedImageROI , std::vector ); +BBTK_DECLARE_INPUT ( numIterations , int ); +BBTK_DECLARE_INPUT ( numLineIterations , int ); +BBTK_DECLARE_INPUT ( stepSize , float ); +BBTK_DECLARE_INPUT ( stepTolerance , float ); +BBTK_DECLARE_INPUT ( metricTolerance , float ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RobustMultiresolutionAffineRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RobustMultiresolutionAffineRegistration" ) ; + BBTK_AUTHOR ( "Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Provides affine registration using multiple resolution levels and decomposed affine transforms." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImage , "fixedImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , movingImage , "movingImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , resampledImage , "resampledImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , outputTransform , "outputTransform" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImageMask , "fixedImageMask" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImageROI , "fixedImageROI" , std::vector, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , numIterations , "numIterations" , int, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , numLineIterations , "numLineIterations" , int, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , stepSize , "stepSize" , float, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , stepTolerance , "stepTolerance" , float, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , metricTolerance , "metricTolerance" , float, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RobustMultiresolutionAffineRegistration ) ; +} + +#endif // __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.cxx b/ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.cxx new file mode 100644 index 0000000..8d0ea03 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.cxx @@ -0,0 +1,62 @@ +#include "bbSlicerRobustStatisticsSegmentation.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RobustStatisticsSegmentation ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RobustStatisticsSegmentation, bbtk::AtomicBlackBox ); + + void RobustStatisticsSegmentation::Process ( ) { + + // GENERATED + +int _argc =8; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRobustStatSegmenterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedVolume( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--intensityHomogeneity" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputintensityHomogeneity( ) ) ) ,"@@@@@"," --intensityHomogeneity ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcurvatureWeight( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelValue( ) ) ) ,"@@@@@"," --labelValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRunningTime" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxRunningTime( ) ) ) ,"@@@@@"," --maxRunningTime ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoriginalImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsegmentedImageFileName( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RobustStatisticsSegmentation::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RobustStatisticsSegmentation::bbUserSetDefaultValues ( ) { + } + + void RobustStatisticsSegmentation::bbUserInitializeProcessing ( ) { + } + + void RobustStatisticsSegmentation::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.h b/ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.h new file mode 100644 index 0000000..404a527 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.h @@ -0,0 +1,72 @@ +#ifndef __bbSlicerRobustStatisticsSegmentation_h_INCLUDED__ +#define __bbSlicerRobustStatisticsSegmentation_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RobustStatisticsSegmentation + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RobustStatisticsSegmentation , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( expectedVolume , double ); +BBTK_DECLARE_INPUT ( intensityHomogeneity , double ); +BBTK_DECLARE_INPUT ( curvatureWeight , double ); +BBTK_DECLARE_INPUT ( labelValue , int ); +BBTK_DECLARE_INPUT ( maxRunningTime , double ); +BBTK_DECLARE_INPUT ( originalImageFileName , std::string ); +BBTK_DECLARE_INPUT ( labelImageFileName , std::string ); +BBTK_DECLARE_INPUT ( segmentedImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RobustStatisticsSegmentation , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RobustStatisticsSegmentation" ) ; + BBTK_AUTHOR ( "Yi Gao, Allen Tannenbaum, Ron Kikinis" ) ; + BBTK_DESCRIPTION ( "Active contour segmentation using robust statistic." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RobustStatisticsSegmentation , expectedVolume , "expectedVolume" , double, ""); +BBTK_INPUT(RobustStatisticsSegmentation , intensityHomogeneity , "intensityHomogeneity" , double, ""); +BBTK_INPUT(RobustStatisticsSegmentation , curvatureWeight , "curvatureWeight" , double, ""); +BBTK_INPUT(RobustStatisticsSegmentation , labelValue , "labelValue" , int, ""); +BBTK_INPUT(RobustStatisticsSegmentation , maxRunningTime , "maxRunningTime" , double, ""); +BBTK_INPUT(RobustStatisticsSegmentation , originalImageFileName , "originalImageFileName" , std::string, ""); +BBTK_INPUT(RobustStatisticsSegmentation , labelImageFileName , "labelImageFileName" , std::string, ""); +BBTK_INPUT(RobustStatisticsSegmentation , segmentedImageFileName , "segmentedImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RobustStatisticsSegmentation ) ; +} + +#endif // __bbSlicerRobustStatisticsSegmentation_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx b/ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx new file mode 100644 index 0000000..ff6badd --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerSimpleIOTest.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, SimpleIOTest ) + BBTK_BLACK_BOX_IMPLEMENTATION ( SimpleIOTest, bbtk::AtomicBlackBox ); + + void SimpleIOTest::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libDiffusionTensorTestLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void SimpleIOTest::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void SimpleIOTest::bbUserSetDefaultValues ( ) { + } + + void SimpleIOTest::bbUserInitializeProcessing ( ) { + } + + void SimpleIOTest::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerSimpleIOTest.h b/ModuleCall/GenSrc/bbSlicerSimpleIOTest.h new file mode 100644 index 0000000..d0d353a --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerSimpleIOTest.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerSimpleIOTest_h_INCLUDED__ +#define __bbSlicerSimpleIOTest_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT SimpleIOTest + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( SimpleIOTest , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( SimpleIOTest , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "SimpleIOTest" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Simple test of tensor IO" ) ; + BBTK_CATEGORY ( "Legacy.Work in Progress.Diffusion Tensor.Test" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(SimpleIOTest , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(SimpleIOTest , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( SimpleIOTest ) ; +} + +#endif // __bbSlicerSimpleIOTest_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.cxx b/ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.cxx new file mode 100644 index 0000000..0c272a2 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.cxx @@ -0,0 +1,63 @@ +#include "bbSlicerSimpleregiongrowing.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Simpleregiongrowing ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Simpleregiongrowing, bbtk::AtomicBlackBox ); + + void Simpleregiongrowing::Process ( ) { + + // GENERATED + +int _argc =9; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libConfidenceConnectedLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smoothingIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingIterations( ) ) ) ,"@@@@@"," --smoothingIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timestep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimestep( ) ) ) ,"@@@@@"," --timestep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--multiplier" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmultiplier( ) ) ) ,"@@@@@"," --multiplier ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhood" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhood( ) ) ) ,"@@@@@"," --neighborhood ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelvalue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelvalue( ) ) ) ,"@@@@@"," --labelvalue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseed( ) ) ) ,"@@@@@"," --seed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Simpleregiongrowing::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Simpleregiongrowing::bbUserSetDefaultValues ( ) { + } + + void Simpleregiongrowing::bbUserInitializeProcessing ( ) { + } + + void Simpleregiongrowing::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.h b/ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.h new file mode 100644 index 0000000..ba02e16 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.h @@ -0,0 +1,74 @@ +#ifndef __bbSlicerSimpleregiongrowing_h_INCLUDED__ +#define __bbSlicerSimpleregiongrowing_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Simpleregiongrowing + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Simpleregiongrowing , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( smoothingIterations , int ); +BBTK_DECLARE_INPUT ( timestep , double ); +BBTK_DECLARE_INPUT ( iterations , int ); +BBTK_DECLARE_INPUT ( multiplier , double ); +BBTK_DECLARE_INPUT ( neighborhood , int ); +BBTK_DECLARE_INPUT ( labelvalue , int ); +BBTK_DECLARE_INPUT ( seed , std::vector > ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Simpleregiongrowing , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Simpleregiongrowing" ) ; + BBTK_AUTHOR ( "Jim Miller" ) ; + BBTK_DESCRIPTION ( "A simple region growing segmentation algorithm based on intensity statistics. To create a list of fiducials Seeds for this algorithm, click on the tool bar icon of an arrow pointing to a starburst fiducial to enter the 'place a new object mode' and then use the fiducials module. This module uses the Slicer Command Line Interface CLI and the ITK filters CurvatureFlowImageFilter and ConfidenceConnectedImageFilter." ) ; + BBTK_CATEGORY ( "Segmentation" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Simpleregiongrowing , smoothingIterations , "smoothingIterations" , int, ""); +BBTK_INPUT(Simpleregiongrowing , timestep , "timestep" , double, ""); +BBTK_INPUT(Simpleregiongrowing , iterations , "iterations" , int, ""); +BBTK_INPUT(Simpleregiongrowing , multiplier , "multiplier" , double, ""); +BBTK_INPUT(Simpleregiongrowing , neighborhood , "neighborhood" , int, ""); +BBTK_INPUT(Simpleregiongrowing , labelvalue , "labelvalue" , int, ""); +BBTK_INPUT(Simpleregiongrowing , seed , "seed" , std::vector >, ""); +BBTK_INPUT(Simpleregiongrowing , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(Simpleregiongrowing , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Simpleregiongrowing ) ; +} + +#endif // __bbSlicerSimpleregiongrowing_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerSubtractImages.cxx b/ModuleCall/GenSrc/bbSlicerSubtractImages.cxx new file mode 100644 index 0000000..8373771 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerSubtractImages.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerSubtractImages.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, SubtractImages ) + BBTK_BLACK_BOX_IMPLEMENTATION ( SubtractImages, bbtk::AtomicBlackBox ); + + void SubtractImages::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libSubtractLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void SubtractImages::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void SubtractImages::bbUserSetDefaultValues ( ) { + } + + void SubtractImages::bbUserInitializeProcessing ( ) { + } + + void SubtractImages::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerSubtractImages.h b/ModuleCall/GenSrc/bbSlicerSubtractImages.h new file mode 100644 index 0000000..2a53b19 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerSubtractImages.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerSubtractImages_h_INCLUDED__ +#define __bbSlicerSubtractImages_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT SubtractImages + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( SubtractImages , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( inputVolume2 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( order , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( SubtractImages , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "SubtractImages" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Subtracts two images. Although all image types are supported on input, only sugned types are produced. The two images do not have to have the same dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(SubtractImages , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(SubtractImages , inputVolume2 , "inputVolume2" , std::string, ""); +BBTK_INPUT(SubtractImages , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(SubtractImages , order , "order" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( SubtractImages ) ; +} + +#endif // __bbSlicerSubtractImages_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.cxx b/ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.cxx new file mode 100644 index 0000000..2878e28 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerTestGridTransformregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, TestGridTransformregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( TestGridTransformregistration, bbtk::AtomicBlackBox ); + + void TestGridTransformregistration::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libTestGridTransformRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void TestGridTransformregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void TestGridTransformregistration::bbUserSetDefaultValues ( ) { + } + + void TestGridTransformregistration::bbUserInitializeProcessing ( ) { + } + + void TestGridTransformregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.h b/ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.h new file mode 100644 index 0000000..e7e7d54 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerTestGridTransformregistration_h_INCLUDED__ +#define __bbSlicerTestGridTransformregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT TestGridTransformregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( TestGridTransformregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( gridSize , int ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( TestGridTransformregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "TestGridTransformregistration" ) ; + BBTK_AUTHOR ( "Yinglin Lee" ) ; + BBTK_DESCRIPTION ( "Generates a GridTransform to test the communication facilities" ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(TestGridTransformregistration , gridSize , "gridSize" , int, ""); +BBTK_INPUT(TestGridTransformregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(TestGridTransformregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(TestGridTransformregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( TestGridTransformregistration ) ; +} + +#endif // __bbSlicerTestGridTransformregistration_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerThresholdImage.cxx b/ModuleCall/GenSrc/bbSlicerThresholdImage.cxx new file mode 100644 index 0000000..2525df8 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerThresholdImage.cxx @@ -0,0 +1,61 @@ +#include "bbSlicerThresholdImage.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ThresholdImage ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ThresholdImage, bbtk::AtomicBlackBox ); + + void ThresholdImage::Process ( ) { + + // GENERATED + +int _argc =7; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libThresholdLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputThresholdValue( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLower( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-u" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUpper( ) ) ) ,"@@@@@"," -u ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutsideValue( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputThresholdType( ) ) ) ,"@@@@@"," --thresholdtype ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ThresholdImage::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ThresholdImage::bbUserSetDefaultValues ( ) { + } + + void ThresholdImage::bbUserInitializeProcessing ( ) { + } + + void ThresholdImage::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerThresholdImage.h b/ModuleCall/GenSrc/bbSlicerThresholdImage.h new file mode 100644 index 0000000..8170aa5 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerThresholdImage.h @@ -0,0 +1,70 @@ +#ifndef __bbSlicerThresholdImage_h_INCLUDED__ +#define __bbSlicerThresholdImage_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ThresholdImage + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ThresholdImage , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); +BBTK_DECLARE_INPUT ( ThresholdValue , int ); +BBTK_DECLARE_INPUT ( Lower , int ); +BBTK_DECLARE_INPUT ( Upper , int ); +BBTK_DECLARE_INPUT ( OutsideValue , int ); +BBTK_DECLARE_INPUT ( ThresholdType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ThresholdImage , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ThresholdImage" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "pThreshold an image./ppSet image values to a user-specified outside value if they are below, above, or between simple threshold values./ppThresholdAbove: The values greater than or equal to the threshold value are set to OutsideValue./ppThresholdBelow: The values less than or equal to the threshold value are set to OutsideValue./ppThresholdOutside: The values outside the range Lower-Upper are set to OutsideValue./ppAlthough all image types are supported on input, only signed types are produced./pp" ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ThresholdImage , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ThresholdImage , OutputVolume , "OutputVolume" , std::string, ""); +BBTK_INPUT(ThresholdImage , ThresholdValue , "ThresholdValue" , int, ""); +BBTK_INPUT(ThresholdImage , Lower , "Lower" , int, ""); +BBTK_INPUT(ThresholdImage , Upper , "Upper" , int, ""); +BBTK_INPUT(ThresholdImage , OutsideValue , "OutsideValue" , int, ""); +BBTK_INPUT(ThresholdImage , ThresholdType , "ThresholdType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ThresholdImage ) ; +} + +#endif // __bbSlicerThresholdImage_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx b/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx new file mode 100644 index 0000000..0aefec5 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx @@ -0,0 +1,61 @@ +#include "bbSlicerUnbiasedNonLocalMeansfilterforDWI.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, UnbiasedNonLocalMeansfilterforDWI ) + BBTK_BLACK_BOX_IMPLEMENTATION ( UnbiasedNonLocalMeansfilterforDWI, bbtk::AtomicBlackBox ); + + void UnbiasedNonLocalMeansfilterforDWI::Process ( ) { + + // GENERATED + +int _argc =7; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libdwiUNLMLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rs" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusSearch( ) ) ) ,"@@@@@"," --rs ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rc" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusComp( ) ) ) ,"@@@@@"," --rc ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hp" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiH( ) ) ) ,"@@@@@"," --hp ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ng" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiNumNeighbors( ) ) ) ,"@@@@@"," --ng ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void UnbiasedNonLocalMeansfilterforDWI::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void UnbiasedNonLocalMeansfilterforDWI::bbUserSetDefaultValues ( ) { + } + + void UnbiasedNonLocalMeansfilterforDWI::bbUserInitializeProcessing ( ) { + } + + void UnbiasedNonLocalMeansfilterforDWI::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h b/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h new file mode 100644 index 0000000..29ca6a8 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h @@ -0,0 +1,70 @@ +#ifndef __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__ +#define __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT UnbiasedNonLocalMeansfilterforDWI + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( UnbiasedNonLocalMeansfilterforDWI , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iRadiusSearch , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusComp , std::vector ); +BBTK_DECLARE_INPUT ( iH , float ); +BBTK_DECLARE_INPUT ( iNumNeighbors , int ); +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( UnbiasedNonLocalMeansfilterforDWI , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "UnbiasedNonLocalMeansfilterforDWI" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez. University of Valladolid SPAIN. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces noise or unwanted detail on a set of diffusion weighted images. For this, it filters the images using a Unbiased Non Local Means for Rician noise algorithm. It exploits not only the spatial redundancy, but the redundancy in similar gradient directions as well; it takes into account the N closest gradient directions to the direction being processed a maximum of 5 gradient directions is allowed to keep a reasonable computational load, since we do not use neither similarity maps nor block-wise implementation.The noise parameter is automatically estimated in the same way as in the jointLMMSE module.A complete description of the algorithm may be found in:Antonio Tristan-Vega and Santiago Aja-Fernandez, DWI filtering using joint information for DTI and HARDI, Medical Image Analysis, Volume 14, Issue 2, Pages 205-218. 2010.Please, note that the execution of this filter is extremely slow, son only very conservative parameters block size and search size as small as possible should be used. Even so, its execution may take several hours. The advantage of this filter over joint LMMSE is its better preservation of edges and fine structures." ) ; + BBTK_CATEGORY ( "Legacy.Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusSearch , "iRadiusSearch" , std::vector, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusComp , "iRadiusComp" , std::vector, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iH , "iH" , float, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iNumNeighbors , "iNumNeighbors" , int, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( UnbiasedNonLocalMeansfilterforDWI ) ; +} + +#endif // __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.cxx b/ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.cxx new file mode 100644 index 0000000..83c45ee --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.cxx @@ -0,0 +1,95 @@ +#include "bbSlicerVectorDemonRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, VectorDemonRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( VectorDemonRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void VectorDemonRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =41; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libVBRAINSDemonWarpLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputPixelType( ) ) ) ,"@@@@@"," --inputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldVolume( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelType( ) ) ) ,"@@@@@"," --outputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registrationFilterType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistrationFilterType( ) ) ) ,"@@@@@"," --registrationFilterType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothDisplacementFieldSigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfPyramidLevels( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumFixedPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumFixedPyramid( ) ) ) ,"@@@@@"," --minimumFixedPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumMovingPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumMovingPyramid( ) ) ) ,"@@@@@"," --minimumMovingPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarrayOfPyramidLevelIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithDisplacementField" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithDisplacementField( ) ) ) ,"@@@@@"," --initializeWithDisplacementField ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithTransform( ) ) ) ,"@@@@@"," --initializeWithTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--makeBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmakeBOBF( ) ) ) ,"@@@@@"," --makeBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--lowerThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlowerThresholdForBOBF( ) ) ) ,"@@@@@"," --lowerThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--upperThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputupperThresholdForBOBF( ) ) ) ,"@@@@@"," --upperThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seedForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseedForBOBF( ) ) ) ,"@@@@@"," --seedForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhoodForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhoodForBOBF( ) ) ) ,"@@@@@"," --neighborhoodForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDisplacementFieldPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldPrefix( ) ) ) ,"@@@@@"," --outputDisplacementFieldPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputCheckerboardVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputCheckerboardVolume( ) ) ) ,"@@@@@"," --outputCheckerboardVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerboardPatternSubdivisions" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerboardPatternSubdivisions( ) ) ) ,"@@@@@"," --checkerboardPatternSubdivisions ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputNormalized" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputNormalized( ) ) ) ,"@@@@@"," --outputNormalized ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDebug( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-w" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputweightFactors( ) ) ) ,"@@@@@"," -w ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgradientType( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingUp( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxStepLength( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-a" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputturnOffDiffeomorph( ) ) ) ,"@@@@@"," -a ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBCHApproximationTerms" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBCHApproximationTerms( ) ) ) ,"@@@@@"," --numberOfBCHApproximationTerms ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void VectorDemonRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void VectorDemonRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void VectorDemonRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void VectorDemonRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.h b/ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.h new file mode 100644 index 0000000..0a2bb9b --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.h @@ -0,0 +1,138 @@ +#ifndef __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT VectorDemonRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( VectorDemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( movingVolume , std::vector ); +BBTK_DECLARE_INPUT ( fixedVolume , std::vector ); +BBTK_DECLARE_INPUT ( inputPixelType , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldVolume , std::string ); +BBTK_DECLARE_INPUT ( outputPixelType , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( registrationFilterType , std::string ); +BBTK_DECLARE_INPUT ( smoothDisplacementFieldSigma , double ); +BBTK_DECLARE_INPUT ( numberOfPyramidLevels , int ); +BBTK_DECLARE_INPUT ( minimumFixedPyramid , std::vector ); +BBTK_DECLARE_INPUT ( minimumMovingPyramid , std::vector ); +BBTK_DECLARE_INPUT ( arrayOfPyramidLevelIterations , std::vector ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( initializeWithDisplacementField , std::string ); +BBTK_DECLARE_INPUT ( initializeWithTransform , std::string ); +BBTK_DECLARE_INPUT ( makeBOBF , bool ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( lowerThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( upperThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( backgroundFillValue , int ); +BBTK_DECLARE_INPUT ( seedForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( neighborhoodForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldPrefix , std::string ); +BBTK_DECLARE_INPUT ( outputCheckerboardVolume , std::string ); +BBTK_DECLARE_INPUT ( checkerboardPatternSubdivisions , std::vector ); +BBTK_DECLARE_INPUT ( outputNormalized , bool ); +BBTK_DECLARE_INPUT ( outputDebug , bool ); +BBTK_DECLARE_INPUT ( weightFactors , std::vector ); +BBTK_DECLARE_INPUT ( gradientType , int ); +BBTK_DECLARE_INPUT ( smoothingUp , double ); +BBTK_DECLARE_INPUT ( maxStepLength , double ); +BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( VectorDemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "VectorDemonRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ; + BBTK_DESCRIPTION ( "This program finds a deformation field to warp a moving image onto a fixed image. The images must be of the same signal kind, and contain an image of the same kind of object. This program uses the Thirion Demons warp software in ITK, the Insight Toolkit. Additional information is available at: http://www.nitrc.org/projects/brainsdemonwarp." ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(VectorDemonRegistrationBRAINS , movingVolume , "movingVolume" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , makeBOBF , "makeBOBF" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , weightFactors , "weightFactors" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , gradientType , "gradientType" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( VectorDemonRegistrationBRAINS ) ; +} + +#endif // __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__ + + diff --git a/ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.cxx b/ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.cxx new file mode 100644 index 0000000..d3fe3b1 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerVotingBinaryHoleFilling.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, VotingBinaryHoleFilling ) + BBTK_BLACK_BOX_IMPLEMENTATION ( VotingBinaryHoleFilling, bbtk::AtomicBlackBox ); + + void VotingBinaryHoleFilling::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libVotingBinaryHoleFillingImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--radius" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputradius( ) ) ) ,"@@@@@"," --radius ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--majorityThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmajorityThreshold( ) ) ) ,"@@@@@"," --majorityThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--background" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackground( ) ) ) ,"@@@@@"," --background ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--foreground" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputforeground( ) ) ) ,"@@@@@"," --foreground ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void VotingBinaryHoleFilling::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void VotingBinaryHoleFilling::bbUserSetDefaultValues ( ) { + } + + void VotingBinaryHoleFilling::bbUserInitializeProcessing ( ) { + } + + void VotingBinaryHoleFilling::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.h b/ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.h new file mode 100644 index 0000000..d03fa19 --- /dev/null +++ b/ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ +#define __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT VotingBinaryHoleFilling + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( VotingBinaryHoleFilling , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( radius , std::vector ); +BBTK_DECLARE_INPUT ( majorityThreshold , int ); +BBTK_DECLARE_INPUT ( background , int ); +BBTK_DECLARE_INPUT ( foreground , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( VotingBinaryHoleFilling , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "VotingBinaryHoleFilling" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Applies a voting operation in order to fill-in cavities. This can be used for smoothing contours and for filling holes in binary images. This technique is used frequently when segmenting complete organs that may have ducts or vasculature that may not have been included in the initial segmentation, e.g. lungs, kidneys, liver." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(VotingBinaryHoleFilling , radius , "radius" , std::vector, ""); +BBTK_INPUT(VotingBinaryHoleFilling , majorityThreshold , "majorityThreshold" , int, ""); +BBTK_INPUT(VotingBinaryHoleFilling , background , "background" , int, ""); +BBTK_INPUT(VotingBinaryHoleFilling , foreground , "foreground" , int, ""); +BBTK_INPUT(VotingBinaryHoleFilling , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(VotingBinaryHoleFilling , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( VotingBinaryHoleFilling ) ; +} + +#endif // __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ + + diff --git a/ModuleCall/build/Debug/GNU-Linux-x86/main.o b/ModuleCall/build/Debug/GNU-Linux-x86/main.o new file mode 100644 index 0000000000000000000000000000000000000000..090ee189290776637e6b36290a08979ffa70d02c GIT binary patch literal 47144 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 EFYXI%9{>OV literal 0 HcmV?d00001 diff --git a/ModuleCall/build/Release/GNU-Linux-x86/main.o.d b/ModuleCall/build/Release/GNU-Linux-x86/main.o.d new file mode 100644 index 0000000..b5964ab --- /dev/null +++ b/ModuleCall/build/Release/GNU-Linux-x86/main.o.d @@ -0,0 +1 @@ +build/Release/GNU-Linux-x86/main.o: main.cpp diff --git a/ModuleCall/dist/Debug/GNU-Linux-x86/modulecall b/ModuleCall/dist/Debug/GNU-Linux-x86/modulecall new file mode 100755 index 0000000000000000000000000000000000000000..00bee6da2459456b9be6c8ac09f13bee093b7f1e GIT binary patch literal 204079 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

7Mn)|r@ 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 Niiy`E1gDyf{x6b#AwU2C literal 0 HcmV?d00001 diff --git a/ModuleCall/interoperating_Baby b/ModuleCall/interoperating_Baby index 232b6113a3d152501608a6682828cbd269870691..60bfdce2bfdea97fb6e958ee58d2909bdc517d74 100755 GIT binary patch literal 409857 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

vS<=|>Hg?#o}jsdEbY`KxX>=>C>YJ9o6VzMWpr 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

=XC~^1muX@Kmae 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�#UQAyA&`V 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 IA#O|m7aUIV00000 literal 220128 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%0AS@KRi06xjL_n}3N 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%0D@Qs{we?s!<{_xlnvirSP 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 b6%%ecYERa$MSg>6UB|1M>?Xz0RKxi{lT&YE diff --git a/ModuleCall/main.cpp b/ModuleCall/main.cpp index afb7544..7076413 100644 --- a/ModuleCall/main.cpp +++ b/ModuleCall/main.cpp @@ -32,23 +32,23 @@ char* getModuleDescription ( const std::string lib ) { - void* handle = dlopen( lib.c_str( ) , RTLD_NOW | RTLD_LOCAL ) ; + void* handle = dlopen ( lib.c_str ( ) , RTLD_NOW | RTLD_LOCAL ) ; if ( ! handle ) { - std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n' ; + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror ( ) << '\n' ; return NULL ; } typedef char* ( *method_t )( void ) ; // RESET ERRORS - dlerror( ) ; - method_t myMethod = ( method_t ) dlsym( handle , "GetXMLModuleDescription" ) ; - const char *dlsym_error = dlerror( ) ; + dlerror ( ) ; + method_t myMethod = ( method_t ) dlsym ( handle , "GetXMLModuleDescription" ) ; + const char *dlsym_error = dlerror ( ) ; if ( dlsym_error ) { std::cerr << "CAN'T LOAD SYMBOL 'GetXMLModuleDescription: " << dlsym_error << '\n' ; - dlclose( handle ) ; + dlclose ( handle ) ; return NULL ; } // CALLING METHOD - char* descrption = myMethod( ) ; + char* descrption = myMethod ( ) ; // CLOSING LIB //dlclose( handle ) ; @@ -58,123 +58,178 @@ char* getModuleDescription ( const std::string lib ) { } void execute ( const std::string lib , int _argc , char * _argv[] ) { - void* handle = dlopen( lib.c_str( ) , RTLD_NOW | RTLD_LOCAL ) ; + void* handle = dlopen ( lib.c_str ( ) , RTLD_NOW | RTLD_LOCAL ) ; if ( ! handle ) { - std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n' ; + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror ( ) << '\n' ; return ; } typedef int (*method_t )( int argc , char * argv[] ) ; // RESET ERRORS - dlerror( ) ; - method_t myMethod = ( method_t ) dlsym( handle , "ModuleEntryPoint" ) ; - const char *dlsym_error = dlerror( ) ; + dlerror ( ) ; + method_t myMethod = ( method_t ) dlsym ( handle , "ModuleEntryPoint" ) ; + const char *dlsym_error = dlerror ( ) ; if ( dlsym_error ) { std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint' " << dlsym_error << '\n' ; - dlclose( handle ) ; + dlclose ( handle ) ; return ; } // CALLING METHOD - myMethod( _argc , _argv ) ; + myMethod ( _argc , _argv ) ; // CLOSING LIB - dlclose( handle ) ; + dlclose ( handle ) ; } /// FILE RELATED /// void saveFile ( const std::string content , const std::string file_name ) { std::ofstream myfile ; - myfile.open( file_name.c_str( ) ) ; + myfile.open ( file_name.c_str ( ) ) ; myfile << content ; - myfile.close( ) ; + myfile.close ( ) ; } std::string loadFile ( const std::string filename ) { - std::string line = std::string( "" ) ; - std::string content = std::string( "" ) ; + std::string line = std::string ( "" ) ; + std::string content = std::string ( "" ) ; std::ifstream infile ; - infile.open( filename.c_str( ) ) ; - while ( ! infile.eof( ) ) { - getline( infile , line ) ; + infile.open ( filename.c_str ( ) ) ; + while ( ! infile.eof ( ) ) { + getline ( infile , line ) ; content += line + "\n" ; - line.clear( ) ; + line.clear ( ) ; } - infile.close( ) ; + infile.close ( ) ; return content ; } std::string loadDummyBody ( ) { - return loadFile( "bbSlicerDummy.dummy_cxx" ) ; + return loadFile ( "bbSlicerDummy.dummy_cxx" ) ; } std::string loadDummyHeader ( ) { - return loadFile( "bbSlicerDummy.dummy_h" ) ; + return loadFile ( "bbSlicerDummy.dummy_h" ) ; } /// BBTK BOX CREATION /// std::string updateBoxDescription ( const ModuleDescription* module , std::string _header ) { - _header = Mthd::Aux::replace_str( _header , "_NNNNN_" , Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ) ; - _header = Mthd::Aux::replace_str( _header , "_AAAAA_" , module->GetContributor( ) ) ; - _header = Mthd::Aux::replace_str( _header , "_DDDDD_" , module->GetDescription( ) ) ; - _header = Mthd::Aux::replace_str( _header , "_CCCCC_" , module->GetCategory( ) ) ; + + std::string tmp_str = std::string ( "" ) ; + tmp_str = module->GetTitle ( ) ; + + tmp_str = Mthd::Aux::replace_str ( tmp_str , " " , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "<" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ">" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "(" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ")" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "\n" , "" ) ; + _header = Mthd::Aux::replace_str ( _header , "_NNNNN_" , tmp_str ) ; + + tmp_str.clear ( ) ; + tmp_str = module->GetContributor ( ) ; + + tmp_str = Mthd::Aux::replace_str ( tmp_str , "<" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ">" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "(" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ")" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "\n" , "" ) ; + _header = Mthd::Aux::replace_str ( _header , "_AAAAA_" , tmp_str ) ; + + tmp_str.clear ( ) ; + tmp_str = module->GetDescription ( ) ; + + tmp_str = Mthd::Aux::replace_str ( tmp_str , "<" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ">" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "(" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ")" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "\n" , "" ) ; + _header = Mthd::Aux::replace_str ( _header , "_DDDDD_" , tmp_str ) ; + + + _header = Mthd::Aux::replace_str ( _header , "_CCCCC_" , module->GetCategory ( ) ) ; return _header ; } std::string updateBoxName ( const ModuleDescription* module , std::string content ) { - std::string _new_box_name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; - content = Mthd::Aux::replace_str( content , "Dummy" , _new_box_name ) ; + std::string _new_box_name = module->GetTitle ( ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , " " , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , "<" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , ">" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , "(" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , ")" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , "\n" , "" ) ; + content = Mthd::Aux::replace_str ( content , "Dummy" , _new_box_name ) ; return content ; } std::string getHeaderFileName ( const ModuleDescription* module ) { - std::string name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; + std::string name = Mthd::Aux::replace_str ( module->GetTitle ( ) , " " , "" ) ; + name = Mthd::Aux::replace_str ( name , "<" , "" ) ; + name = Mthd::Aux::replace_str ( name , ">" , "" ) ; + name = Mthd::Aux::replace_str ( name , "(" , "" ) ; + name = Mthd::Aux::replace_str ( name , ")" , "" ) ; + name = Mthd::Aux::replace_str ( name , "\n" , "" ) ; return "bbSlicer" + name + ".h" ; } std::string getBodyFileName ( const ModuleDescription* module ) { - std::string name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; - + std::string name = module->GetTitle ( ) ; + name = Mthd::Aux::replace_str ( name , " " , "" ) ; + name = Mthd::Aux::replace_str ( name , "<" , "" ) ; + name = Mthd::Aux::replace_str ( name , ">" , "" ) ; + name = Mthd::Aux::replace_str ( name , "(" , "" ) ; + name = Mthd::Aux::replace_str ( name , ")" , "" ) ; + name = Mthd::Aux::replace_str ( name , "\n" , "" ) ; return "bbSlicer" + name + ".cxx" ; } std::string updateBoxInputs ( const ModuleDescription* module , std::string content ) { - std::string _cxx_inputs = std::string( "\n" ) ; - std::string _cxx_inputs_end = std::string( "\n" ) ; - std::string _box_name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; + std::string _cxx_inputs = std::string ( "\n" ) ; + std::string _cxx_inputs_end = std::string ( "\n" ) ; + + std::string _box_name = module->GetTitle ( ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , " " , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , "<" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , ">" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , "(" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , ")" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , "\n" , "" ) ; + + for ( unsigned long int i = 0 ; i < module->GetParameterGroups ( ).size ( ) ; i ++ ) { + ModuleParameterGroup pGroup = module->GetParameterGroups ( ).at ( i ) ; + for ( unsigned long int j = 0 ; j < pGroup.GetParameters ( ).size ( ) ; j ++ ) { + + ModuleParameter mPara = pGroup.GetParameters ( ).at ( j ) ; - for ( unsigned long int i = 0 ; i < module->GetParameterGroups( ).size( ) ; i ++ ) { - ModuleParameterGroup pGroup = module->GetParameterGroups( ).at( i ) ; - for ( unsigned long int j = 0 ; j < pGroup.GetParameters( ).size( ) ; j ++ ) { - ModuleParameter mPara = pGroup.GetParameters( ).at( j ) ; _cxx_inputs += "BBTK_DECLARE_INPUT ( " + - mPara.GetName( ) + " , " + - mPara.GetCPPType( ) + " );\n" ; + mPara.GetName ( ) + " , " + + mPara.GetCPPType ( ) + " );\n" ; _cxx_inputs_end += "BBTK_INPUT(" + _box_name + " , " + - mPara.GetName( ) + " , " + - "\"" + mPara.GetName( ) + "\"" + " , " + - mPara.GetCPPType( ) + ", \"\");\n" ; + mPara.GetName ( ) + " , " + + "\"" + mPara.GetName ( ) + "\"" + " , " + + mPara.GetCPPType ( ) + ", \"\");\n" ; } } - content = Mthd::Aux::replace_str( content , "_11111_" , _cxx_inputs ) ; - content = Mthd::Aux::replace_str( content , "_22222_" , _cxx_inputs_end ) ; + content = Mthd::Aux::replace_str ( content , "_11111_" , _cxx_inputs ) ; + content = Mthd::Aux::replace_str ( content , "_22222_" , _cxx_inputs_end ) ; return content ; } const int getNumberOfArguments ( const ModuleDescription* module ) { int number = 0 ; - for ( unsigned long int i = 0 ; i < module->GetParameterGroups( ).size( ) ; i ++ ) { - ModuleParameterGroup pGroup = module->GetParameterGroups( ).at( i ) ; - for ( unsigned long int j = 0 ; j < pGroup.GetParameters( ).size( ) ; j ++ ) { + for ( unsigned long int i = 0 ; i < module->GetParameterGroups ( ).size ( ) ; i ++ ) { + ModuleParameterGroup pGroup = module->GetParameterGroups ( ).at ( i ) ; + for ( unsigned long int j = 0 ; j < pGroup.GetParameters ( ).size ( ) ; j ++ ) { - ModuleParameter mPara = pGroup.GetParameters( ).at( j ) ; + ModuleParameter mPara = pGroup.GetParameters ( ).at ( j ) ; number ++ ; } } @@ -183,56 +238,58 @@ const int getNumberOfArguments ( const ModuleDescription* module ) { std::string updateProcessMethod ( const ModuleDescription* module , std::string content , std::string lib ) { int number = 0 ; - std::string arg_list = std::string( "" ) ; - for ( unsigned long int i = 0 ; i < module->GetParameterGroups( ).size( ) ; i ++ ) { - ModuleParameterGroup pGroup = module->GetParameterGroups( ).at( i ) ; - for ( unsigned long int j = 0 ; j < pGroup.GetParameters( ).size( ) ; j ++ ) { - - ModuleParameter mPara = pGroup.GetParameters( ).at( j ) ; + std::string arg_list = std::string ( "" ) ; + for ( unsigned long int i = 0 ; i < module->GetParameterGroups ( ).size ( ) ; i ++ ) { + ModuleParameterGroup pGroup = module->GetParameterGroups ( ).at ( i ) ; + for ( unsigned long int j = 0 ; j < pGroup.GetParameters ( ).size ( ) ; j ++ ) { + std::string flag = std::string ( "\"\"" ) ; + ModuleParameter mPara = pGroup.GetParameters ( ).at ( j ) ; arg_list += "Mthd::Aux::toCharArrray( " ; - if ( mPara.GetFlag( ) != "" ) { + if ( mPara.GetFlag ( ) != "" ) { arg_list += "Mthd::Aux::toString( \"" ; - arg_list += "-" + mPara.GetFlag( ) + "\" " ; + arg_list += "-" + mPara.GetFlag ( ) + "\" " ; arg_list += " ) + " ; + flag = "\" -" + mPara.GetFlag ( ) +" \"" ; - } else if ( mPara.GetLongFlag( ) != "" ) { + } else if ( mPara.GetLongFlag ( ) != "" ) { arg_list += "Mthd::Aux::toString( \"" ; - arg_list += "--" + mPara.GetLongFlag( ) + "\" " ; + arg_list += "--" + mPara.GetLongFlag ( ) + "\" " ; arg_list += " ) + " ; + flag = "\" --" + mPara.GetLongFlag ( ) +" \"" ; } - arg_list += "Mthd::Aux::toString( bbGetInput" + mPara.GetName( ) + "( ) )" ; - arg_list += " ),\n" ; + arg_list += "Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInput" + mPara.GetName ( ) + "( ) )" ; + arg_list += " ) ,\"@@@@@\"," + flag + ") ),\n" ; number ++ ; } } arg_list += "_EEENNNDDD_" ; - arg_list = Mthd::Aux::replace_str( arg_list , ",\n_EEENNNDDD_" , "" ) ; - std::string _argc = "\nint _argc =" + Mthd::Aux::toString( number ) + ";\n" ; + arg_list = Mthd::Aux::replace_str ( arg_list , ",\n_EEENNNDDD_" , "" ) ; + std::string _argc = "\nint _argc =" + Mthd::Aux::toString ( number ) + ";\n" ; std::string _slib = "std::string lib = \"" + lib + "\";\n" ; std::string _argv = "char * _argv[ ] = { " + arg_list + " };\n" ; - return Mthd::Aux::replace_str( content , "_33333_" , _argc + _slib + _argv ) ; + return Mthd::Aux::replace_str ( content , "_33333_" , _argc + _slib + _argv ) ; } std::vector < std::string > getFilesByExtention ( std::string dir , std::string ext ) { std::vector < std::string > files ; - files.clear( ) ; + files.clear ( ) ; DIR *dp ; struct dirent *dirp ; - if ( ( dp = opendir( dir.c_str( ) ) ) == NULL ) { + if ( ( dp = opendir ( dir.c_str ( ) ) ) == NULL ) { std::cout << "ERROR OPENING " << dir << std::endl ; return files ; } - while ( ( dirp = readdir( dp ) ) != NULL ) { - std::string file = std::string( dirp->d_name ) ; - if ( Mthd::Aux::str_ends_with( file , ext ) ) { - files.push_back( file ) ; + while ( ( dirp = readdir ( dp ) ) != NULL ) { + std::string file = std::string ( dirp->d_name ) ; + if ( Mthd::Aux::str_ends_with ( file , ext ) ) { + files.push_back ( file ) ; } } - closedir( dp ) ; + closedir ( dp ) ; return files ; } @@ -242,53 +299,53 @@ int main ( int argc , char* argv[] ) { // char * _argv[] = { "-s 20" , "/home/riveros/Desktop/Experiments/RA1.mhd" , "/home/riveros/Desktop/Experiments/RA1-OUT-MAIN.mhd" } ; // execute( gblib , _argc , _argv ) ; - const std::string dummy_body_str = loadDummyBody( ) ; - const std::string dummy_header_str = loadDummyHeader( ) ; + const std::string dummy_body_str = loadDummyBody ( ) ; + const std::string dummy_header_str = loadDummyHeader ( ) ; const std::string directory = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/" ; - const std::vector < std::string > files = getFilesByExtention( directory , ".so" ) ; + const std::vector < std::string > files = getFilesByExtention ( directory , ".so" ) ; - for ( unsigned int i = 0 ; i < files.size( ) ; i ++ ) { + for ( unsigned int i = 0 ; i < files.size ( ) ; i ++ ) { - std::string gblib = directory + files.at( i ) ; - std::cout << "/// " << files.at( i ) << " ///" << std::endl ; + std::string gblib = directory + files.at ( i ) ; + std::cout << "/// " << files.at ( i ) << " ///" << std::endl ; /// MODULE INFORMATION /// - std::string des = getModuleDescription( gblib ) ; + std::string des = getModuleDescription ( gblib ) ; std::cout << " getModuleDescription( gblib )...OK" << std::endl ; ModuleDescription module ; ModuleDescriptionParser parser ; - parser.Parse( des , module ) ; + parser.Parse ( des , module ) ; std::cout << " parser.Parse( des , module )...OK" << std::endl ; /// LOADING DUMMY FILES /// - std::string _body = std::string( dummy_body_str ) ; + std::string _body = std::string ( dummy_body_str ) ; std::cout << " loadDummyBody( )...OK" << std::endl ; - std::string _header = std::string( dummy_header_str ) ; + std::string _header = std::string ( dummy_header_str ) ; std::cout << " loadDummyHeader( )...OK" << std::endl ; /// SETTING HEADER FILE /// - _header = updateBoxName( &module , _header ) ; + _header = updateBoxName ( &module , _header ) ; std::cout << " updateBoxName( &module , _header )...OK" << std::endl ; - _header = updateBoxDescription( &module , _header ) ; + _header = updateBoxDescription ( &module , _header ) ; std::cout << " updateBoxDescription( &module , _header )...OK" << std::endl ; - _header = updateBoxInputs( &module , _header ) ; + _header = updateBoxInputs ( &module , _header ) ; std::cout << " updateBoxInputs( &module , _header )...OK" << std::endl ; - saveFile( _header , getHeaderFileName( &module ) ) ; + saveFile ( _header , "./GenSrc/" + getHeaderFileName ( &module ) ) ; /// SETTING BODY FILE /// - _body = updateBoxName( &module , _body ) ; + _body = updateBoxName ( &module , _body ) ; std::cout << " updateBoxName( &module , _body )...OK" << std::endl ; - _body = updateProcessMethod( &module , _body , gblib ) ; + _body = updateProcessMethod ( &module , _body , gblib ) ; std::cout << " updateProcessMethod( &module , _body , gblib )...OK" << std::endl ; - saveFile( _body , getBodyFileName( &module ) ) ; + saveFile ( _body , "./GenSrc/" + getBodyFileName ( &module ) ) ; - std::cout << "/// EO " << files.at( i ) << " ///" << std::endl << std::endl ; + std::cout << "/// EO " << files.at ( i ) << " ///" << std::endl << std::endl ; - gblib.clear( ) ; - des.clear( ) ; + gblib.clear ( ) ; + des.clear ( ) ; //while ( getchar( ) != '\n' ) ; } diff --git a/ModuleCall/nbproject/Makefile-Debug.mk b/ModuleCall/nbproject/Makefile-Debug.mk new file mode 100644 index 0000000..403ae0c --- /dev/null +++ b/ModuleCall/nbproject/Makefile-Debug.mk @@ -0,0 +1,89 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/CreationTool.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS=-ldl +CXXFLAGS=-ldl + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/main.o: nbproject/Makefile-${CND_CONF}.mk main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/CreationTool.o: nbproject/Makefile-${CND_CONF}.mk CreationTool.cxx + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/CreationTool.o CreationTool.cxx + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + ${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/ModuleCall/nbproject/Makefile-Release.mk b/ModuleCall/nbproject/Makefile-Release.mk new file mode 100644 index 0000000..3e0453a --- /dev/null +++ b/ModuleCall/nbproject/Makefile-Release.mk @@ -0,0 +1,89 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/CreationTool.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS=-ldl -w +CXXFLAGS=-ldl -w + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/main.o: nbproject/Makefile-${CND_CONF}.mk main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/CreationTool.o: nbproject/Makefile-${CND_CONF}.mk CreationTool.cxx + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/CreationTool.o CreationTool.cxx + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + ${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/ModuleCall/nbproject/Makefile-impl.mk b/ModuleCall/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..5b21938 --- /dev/null +++ b/ModuleCall/nbproject/Makefile-impl.mk @@ -0,0 +1,133 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a pre- and a post- target defined where you can add customization code. +# +# This makefile implements macros and targets common to all configurations. +# +# NOCDDL + + +# Building and Cleaning subprojects are done by default, but can be controlled with the SUB +# macro. If SUB=no, subprojects will not be built or cleaned. The following macro +# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf +# and .clean-reqprojects-conf unless SUB has the value 'no' +SUB_no=NO +SUBPROJECTS=${SUB_${SUB}} +BUILD_SUBPROJECTS_=.build-subprojects +BUILD_SUBPROJECTS_NO= +BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} +CLEAN_SUBPROJECTS_=.clean-subprojects +CLEAN_SUBPROJECTS_NO= +CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} + + +# Project Name +PROJECTNAME=ModuleCall + +# Active Configuration +DEFAULTCONF=Debug +CONF=${DEFAULTCONF} + +# All Configurations +ALLCONFS=Debug Release + + +# build +.build-impl: .build-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf + + +# clean +.clean-impl: .clean-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf + + +# clobber +.clobber-impl: .clobber-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ + done + +# all +.all-impl: .all-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \ + done + +# build tests +.build-tests-impl: .build-impl .build-tests-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf + +# run tests +.test-impl: .build-tests-impl .test-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf + +# dependency checking support +.depcheck-impl: + @echo "# This code depends on make tool being used" >.dep.inc + @if [ -n "${MAKE_VERSION}" ]; then \ + echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ + echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ + echo "include \$${DEPFILES}" >>.dep.inc; \ + echo "endif" >>.dep.inc; \ + else \ + echo ".KEEP_STATE:" >>.dep.inc; \ + echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ + fi + +# configuration validation +.validate-impl: + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + echo ""; \ + echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ + echo "See 'make help' for details."; \ + echo "Current directory: " `pwd`; \ + echo ""; \ + fi + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + exit 1; \ + fi + + +# help +.help-impl: .help-pre + @echo "This makefile supports the following configurations:" + @echo " ${ALLCONFS}" + @echo "" + @echo "and the following targets:" + @echo " build (default target)" + @echo " clean" + @echo " clobber" + @echo " all" + @echo " help" + @echo "" + @echo "Makefile Usage:" + @echo " make [CONF=] [SUB=no] build" + @echo " make [CONF=] [SUB=no] clean" + @echo " make [SUB=no] clobber" + @echo " make [SUB=no] all" + @echo " make help" + @echo "" + @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," + @echo " also clean subprojects." + @echo "Target 'clobber' will remove all built files from all configurations and," + @echo " unless 'SUB=no', also from subprojects." + @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'help' prints this message." + @echo "" + diff --git a/ModuleCall/nbproject/Makefile-variables.mk b/ModuleCall/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..4cf87ff --- /dev/null +++ b/ModuleCall/nbproject/Makefile-variables.mk @@ -0,0 +1,35 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +CND_BASEDIR=`pwd` +CND_BUILDDIR=build +CND_DISTDIR=dist +# Debug configuration +CND_PLATFORM_Debug=GNU-Linux-x86 +CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86 +CND_ARTIFACT_NAME_Debug=modulecall +CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/modulecall +CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package +CND_PACKAGE_NAME_Debug=modulecall.tar +CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/modulecall.tar +# Release configuration +CND_PLATFORM_Release=GNU-Linux-x86 +CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86 +CND_ARTIFACT_NAME_Release=modulecall +CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/modulecall +CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package +CND_PACKAGE_NAME_Release=modulecall.tar +CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/modulecall.tar +# +# include compiler specific variables +# +# dmake command +ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \ + (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk) +# +# gmake command +.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)) +# +include nbproject/private/Makefile-variables.mk diff --git a/ModuleCall/nbproject/Package-Debug.bash b/ModuleCall/nbproject/Package-Debug.bash new file mode 100644 index 0000000..4ed3e78 --- /dev/null +++ b/ModuleCall/nbproject/Package-Debug.bash @@ -0,0 +1,75 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall +OUTPUT_BASENAME=modulecall +PACKAGE_TOP_DIR=modulecall/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/modulecall/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/ModuleCall/nbproject/Package-Release.bash b/ModuleCall/nbproject/Package-Release.bash new file mode 100644 index 0000000..1708a01 --- /dev/null +++ b/ModuleCall/nbproject/Package-Release.bash @@ -0,0 +1,75 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall +OUTPUT_BASENAME=modulecall +PACKAGE_TOP_DIR=modulecall/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/modulecall/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/ModuleCall/nbproject/configurations.xml b/ModuleCall/nbproject/configurations.xml new file mode 100644 index 0000000..f83998e --- /dev/null +++ b/ModuleCall/nbproject/configurations.xml @@ -0,0 +1,66 @@ + + + + + + + + + CreationTool.cxx + CreationTool.h + main.cpp + + + + + Makefile + + + Makefile + + + + LOCAL_SOURCES + default + + + + -ldl + + + + + + LOCAL_SOURCES + default + + + + 5 + + + 5 + -ldl -w + + + 5 + + + 5 + + + + + diff --git a/ModuleCall/nbproject/private/Makefile-variables.mk b/ModuleCall/nbproject/private/Makefile-variables.mk new file mode 100644 index 0000000..a64183e --- /dev/null +++ b/ModuleCall/nbproject/private/Makefile-variables.mk @@ -0,0 +1,7 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +# Debug configuration +# Release configuration diff --git a/ModuleCall/nbproject/private/configurations.xml b/ModuleCall/nbproject/private/configurations.xml new file mode 100644 index 0000000..10e0756 --- /dev/null +++ b/ModuleCall/nbproject/private/configurations.xml @@ -0,0 +1,72 @@ + + + Makefile + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + diff --git a/ModuleCall/nbproject/private/private.xml b/ModuleCall/nbproject/private/private.xml new file mode 100644 index 0000000..c15bbcb --- /dev/null +++ b/ModuleCall/nbproject/private/private.xml @@ -0,0 +1,8 @@ + + + + 1 + 1 + + + diff --git a/ModuleCall/nbproject/project.xml b/ModuleCall/nbproject/project.xml new file mode 100644 index 0000000..949b38c --- /dev/null +++ b/ModuleCall/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.cnd.makeproject + + + ModuleCall + + cpp,cxx + h + UTF-8 + + + + + Debug + 1 + + + Release + 1 + + + + + diff --git a/bbtk_Slicer_PKG/src/CreationTool.cxx b/bbtk_Slicer_PKG/src/CreationTool.cxx index b3c7095..872fc7c 100644 --- a/bbtk_Slicer_PKG/src/CreationTool.cxx +++ b/bbtk_Slicer_PKG/src/CreationTool.cxx @@ -10,73 +10,222 @@ std::string Mthd::Aux::toString ( float n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( double n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( long double n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( char n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned char n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( short n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned short n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( long int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned long n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned long long n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; } std::string Mthd::Aux::toString ( std::string n ) { @@ -86,84 +235,188 @@ std::string Mthd::Aux::toString ( std::string n ) { char* Mthd::Aux::toCharArrray ( float n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( double n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long double n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( char n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned char n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( short n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned short n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long unsigned int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( std::string n ) { - return const_cast < char* > ( n.data( ) ) ; + return const_cast < char* > ( n.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; } std::string Mthd::Aux::replace_str ( std::string input , std::string old_str , std::string new_str ) { - size_t found = input.find( old_str ) ; + size_t found = input.find ( old_str ) ; while ( found != std::string::npos ) { - input.replace( found , old_str.length( ) , new_str ) ; - found = input.find( old_str ) ; + input.replace ( found , old_str.length ( ) , new_str ) ; + found = input.find ( old_str ) ; } return input ; } bool Mthd::Aux::str_ends_with ( std::string total_str , std::string sub_str ) { - size_t found = total_str.find( sub_str ) ; + size_t found = total_str.find ( sub_str ) ; if ( found != std::string::npos ) { return true ; } diff --git a/bbtk_Slicer_PKG/src/CreationTool.h b/bbtk_Slicer_PKG/src/CreationTool.h index 27dcb82..4fdbee9 100644 --- a/bbtk_Slicer_PKG/src/CreationTool.h +++ b/bbtk_Slicer_PKG/src/CreationTool.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace Mthd { @@ -32,6 +33,26 @@ namespace Mthd { static std::string toString ( unsigned long n ) ; static std::string toString ( unsigned long long n ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector > v ) ; + + static std::string toString ( std::vector< std::vector< int > > v ) ; + static std::string toString ( std::vector< std::vector< float > > v ) ; + static std::string toString ( std::vector< std::vector< double > > v ) ; + static std::string toString ( std::vector< std::vector< long int > > v ) ; + static std::string toString ( std::vector< std::vector< long double > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned int > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned long > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned long long > > v ) ; + + static std::string toString ( std::string n ) ; static char* toCharArrray ( float n ) ; @@ -49,10 +70,19 @@ namespace Mthd { static char* toCharArrray ( unsigned int n ) ; static char* toCharArrray ( long unsigned int n ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::string n ) ; static bool str_ends_with ( std::string total_str , std::string sub_str ) ; - static std::string replace_str ( std::string input , std::string old_str , std::string new_str ) ; + static std::string replace_str ( std::string input , std::string old_str , std::string new_str ) ; } ; diff --git a/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx new file mode 100644 index 0000000..d458ed8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerACPCTransform.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ACPCTransform ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ACPCTransform, bbtk::AtomicBlackBox ); + + void ACPCTransform::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRealignLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--acpc" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputACPC( ) ) ) ,"@@@@@"," --acpc ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--midline" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMidline( ) ) ) ,"@@@@@"," --midline ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebugSwitch( ) ) ) ,"@@@@@"," -d ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ACPCTransform::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ACPCTransform::bbUserSetDefaultValues ( ) { + } + + void ACPCTransform::bbUserInitializeProcessing ( ) { + } + + void ACPCTransform::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h new file mode 100644 index 0000000..f5da823 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerACPCTransform_h_INCLUDED__ +#define __bbSlicerACPCTransform_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ACPCTransform + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ACPCTransform , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( ACPC , std::vector > ); +BBTK_DECLARE_INPUT ( Midline , std::vector > ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( debugSwitch , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ACPCTransform , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ACPCTransform" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "pCalculate a transformation from two lists of fiducial points./ppACPC line is two fiducial points, one at the anterior commissure and one at the posterior commissure. The resulting transform will bring the line connecting them to horizontal to the AP axis./ppThe midline is a series of points defining the division between the hemispheres of the brain the mid sagittal plane. The resulting transform will put the output volume with the mid sagittal plane lined up with the AS plane./ppUse the Filtering module bResample Scalar/Vector/DWI Volume/b to apply the transformation to a volume./p" ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ACPCTransform , ACPC , "ACPC" , std::vector >, ""); +BBTK_INPUT(ACPCTransform , Midline , "Midline" , std::vector >, ""); +BBTK_INPUT(ACPCTransform , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(ACPCTransform , debugSwitch , "debugSwitch" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ACPCTransform ) ; +} + +#endif // __bbSlicerACPCTransform_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx index d66e444..ec5f7a5 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libAddLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::toString( bbGetInputorder( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx b/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx index 2633329..9ed73da 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineToDeformationFieldLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--tfm" ) + Mthd::Aux::toString( bbGetInputinputTransformName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--refImage" ) + Mthd::Aux::toString( bbGetInputreferenceImageName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defImage" ) + Mthd::Aux::toString( bbGetInputdeformationFieldName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--tfm" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputTransformName( ) ) ) ,"@@@@@"," --tfm ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--refImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceImageName( ) ) ) ,"@@@@@"," --refImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeformationFieldName( ) ) ) ,"@@@@@"," --defImage ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx b/bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx new file mode 100644 index 0000000..8715b97 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerCastImage.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CastImage ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CastImage, bbtk::AtomicBlackBox ); + + void CastImage::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCastLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputType( ) ) ) ,"@@@@@"," -t ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CastImage::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CastImage::bbUserSetDefaultValues ( ) { + } + + void CastImage::bbUserInitializeProcessing ( ) { + } + + void CastImage::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCastImage.h b/bbtk_Slicer_PKG/src/bbSlicerCastImage.h new file mode 100644 index 0000000..ba1237a --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCastImage.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerCastImage_h_INCLUDED__ +#define __bbSlicerCastImage_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CastImage + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CastImage , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); +BBTK_DECLARE_INPUT ( Type , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CastImage , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CastImage" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "Cast a volume to a given data type.Use at your own risk when casting an input volume into a lower precision type!Allows casting to the same type as the input volume." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CastImage , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(CastImage , OutputVolume , "OutputVolume" , std::string, ""); +BBTK_INPUT(CastImage , Type , "Type" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CastImage ) ; +} + +#endif // __bbSlicerCastImage_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx new file mode 100644 index 0000000..3201891 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerCheckerBoardFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CheckerBoardFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CheckerBoardFilter, bbtk::AtomicBlackBox ); + + void CheckerBoardFilter::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCheckerBoardLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerPattern" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerPattern( ) ) ) ,"@@@@@"," --checkerPattern ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CheckerBoardFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CheckerBoardFilter::bbUserSetDefaultValues ( ) { + } + + void CheckerBoardFilter::bbUserInitializeProcessing ( ) { + } + + void CheckerBoardFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h new file mode 100644 index 0000000..7bd4a22 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerCheckerBoardFilter_h_INCLUDED__ +#define __bbSlicerCheckerBoardFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CheckerBoardFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CheckerBoardFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( checkerPattern , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( inputVolume2 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CheckerBoardFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CheckerBoardFilter" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Create a checkerboard volume of two volumes. The output volume will show the two inputs alternating according to the user supplied checkerPattern. This filter is often used to compare the results of image registration. Note that the second input is resampled to the same origin, spacing and direction before it is composed with the first input. The scalar type of the output volume will be the same as the input image scalar type." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CheckerBoardFilter , checkerPattern , "checkerPattern" , std::vector, ""); +BBTK_INPUT(CheckerBoardFilter , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(CheckerBoardFilter , inputVolume2 , "inputVolume2" , std::string, ""); +BBTK_INPUT(CheckerBoardFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CheckerBoardFilter ) ; +} + +#endif // __bbSlicerCheckerBoardFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx b/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx index ba3a358..4b63cfb 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCLIModule4TestLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue1" ) + Mthd::Aux::toString( bbGetInputInputValue1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue2" ) + Mthd::Aux::toString( bbGetInputInputValue2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--operationtype" ) + Mthd::Aux::toString( bbGetInputOperationType( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputFile( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputValue1( ) ) ) ,"@@@@@"," --inputvalue1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputValue2( ) ) ) ,"@@@@@"," --inputvalue2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--operationtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOperationType( ) ) ) ,"@@@@@"," --operationtype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputFile( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx b/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx index 1fe0e73..a51004b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx @@ -11,26 +11,26 @@ namespace bbSlicer { int _argc =20; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libImageReadDicomWriteLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientName" ) + Mthd::Aux::toString( bbGetInputpatientName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientID" ) + Mthd::Aux::toString( bbGetInputpatientID( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientComments" ) + Mthd::Aux::toString( bbGetInputpatientComments( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyID" ) + Mthd::Aux::toString( bbGetInputstudyID( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDate" ) + Mthd::Aux::toString( bbGetInputstudyDate( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyComments" ) + Mthd::Aux::toString( bbGetInputstudyComments( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDescription" ) + Mthd::Aux::toString( bbGetInputstudyDescription( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modality" ) + Mthd::Aux::toString( bbGetInputmodality( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--manufacturer" ) + Mthd::Aux::toString( bbGetInputmanufacturer( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--model" ) + Mthd::Aux::toString( bbGetInputmodel( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesNumber" ) + Mthd::Aux::toString( bbGetInputseriesNumber( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesDescription" ) + Mthd::Aux::toString( bbGetInputseriesDescription( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleIntercept" ) + Mthd::Aux::toString( bbGetInputrescaleIntercept( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleSlope" ) + Mthd::Aux::toString( bbGetInputrescaleSlope( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomDirectory" ) + Mthd::Aux::toString( bbGetInputdicomDirectory( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomPrefix" ) + Mthd::Aux::toString( bbGetInputdicomPrefix( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomNumberFormat" ) + Mthd::Aux::toString( bbGetInputdicomNumberFormat( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reverseImages" ) + Mthd::Aux::toString( bbGetInputreverseImages( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCompression" ) + Mthd::Aux::toString( bbGetInputuseCompression( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientName" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientName( ) ) ) ,"@@@@@"," --patientName ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientID" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientID( ) ) ) ,"@@@@@"," --patientID ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientComments" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientComments( ) ) ) ,"@@@@@"," --patientComments ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyID" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyID( ) ) ) ,"@@@@@"," --studyID ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDate" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyDate( ) ) ) ,"@@@@@"," --studyDate ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyComments" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyComments( ) ) ) ,"@@@@@"," --studyComments ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDescription" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyDescription( ) ) ) ,"@@@@@"," --studyDescription ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modality" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmodality( ) ) ) ,"@@@@@"," --modality ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--manufacturer" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmanufacturer( ) ) ) ,"@@@@@"," --manufacturer ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--model" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmodel( ) ) ) ,"@@@@@"," --model ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesNumber" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseriesNumber( ) ) ) ,"@@@@@"," --seriesNumber ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesDescription" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseriesDescription( ) ) ) ,"@@@@@"," --seriesDescription ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleIntercept" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrescaleIntercept( ) ) ) ,"@@@@@"," --rescaleIntercept ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleSlope" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrescaleSlope( ) ) ) ,"@@@@@"," --rescaleSlope ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomDirectory( ) ) ) ,"@@@@@"," --dicomDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomPrefix( ) ) ) ,"@@@@@"," --dicomPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomNumberFormat" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomNumberFormat( ) ) ) ,"@@@@@"," --dicomNumberFormat ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reverseImages" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreverseImages( ) ) ) ,"@@@@@"," --reverseImages ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCompression" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCompression( ) ) ) ,"@@@@@"," --useCompression ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx new file mode 100644 index 0000000..a356744 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerCurvatureAnisotropicDiffusion.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CurvatureAnisotropicDiffusion ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CurvatureAnisotropicDiffusion, bbtk::AtomicBlackBox ); + + void CurvatureAnisotropicDiffusion::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCurvatureAnisotropicDiffusionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--conductance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconductance( ) ) ) ,"@@@@@"," --conductance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timeStep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimeStep( ) ) ) ,"@@@@@"," --timeStep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CurvatureAnisotropicDiffusion::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CurvatureAnisotropicDiffusion::bbUserSetDefaultValues ( ) { + } + + void CurvatureAnisotropicDiffusion::bbUserInitializeProcessing ( ) { + } + + void CurvatureAnisotropicDiffusion::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h new file mode 100644 index 0000000..fc17218 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ +#define __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CurvatureAnisotropicDiffusion + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CurvatureAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( conductance , double ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( timeStep , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CurvatureAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CurvatureAnisotropicDiffusion" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Performs anisotropic diffusion on an image using a modified curvature diffusion equation MCDE.MCDE does not exhibit the edge enhancing properties of classic anisotropic diffusion, which can under certain conditions undergo a 'negative' diffusion, which enhances the contrast of edges. Equations of the form of MCDE always undergo positive diffusion, with the conductance term only varying the strength of that diffusion. Qualitatively, MCDE compares well with other non-linear diffusion techniques. It is less sensitive to contrast than classic Perona-Malik style diffusion, and preserves finer detailed structures in images. There is a potential speed trade-off for using this function in place of Gradient Anisotropic Diffusion. Each iteration of the solution takes roughly twice as long. Fewer iterations, however, may be required to reach an acceptable solution." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CurvatureAnisotropicDiffusion , conductance , "conductance" , double, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , timeStep , "timeStep" , double, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CurvatureAnisotropicDiffusion ) ; +} + +#endif // __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx new file mode 100644 index 0000000..bef5a5e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx @@ -0,0 +1,94 @@ +#include "bbSlicerDemonRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, DemonRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( DemonRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void DemonRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =40; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSDemonWarpLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputPixelType( ) ) ) ,"@@@@@"," --inputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldVolume( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelType( ) ) ) ,"@@@@@"," --outputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registrationFilterType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistrationFilterType( ) ) ) ,"@@@@@"," --registrationFilterType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothDisplacementFieldSigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfPyramidLevels( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumFixedPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumFixedPyramid( ) ) ) ,"@@@@@"," --minimumFixedPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumMovingPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumMovingPyramid( ) ) ) ,"@@@@@"," --minimumMovingPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarrayOfPyramidLevelIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithDisplacementField" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithDisplacementField( ) ) ) ,"@@@@@"," --initializeWithDisplacementField ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithTransform( ) ) ) ,"@@@@@"," --initializeWithTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskProcessingMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskProcessingMode( ) ) ) ,"@@@@@"," --maskProcessingMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--lowerThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlowerThresholdForBOBF( ) ) ) ,"@@@@@"," --lowerThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--upperThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputupperThresholdForBOBF( ) ) ) ,"@@@@@"," --upperThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seedForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseedForBOBF( ) ) ) ,"@@@@@"," --seedForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhoodForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhoodForBOBF( ) ) ) ,"@@@@@"," --neighborhoodForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDisplacementFieldPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldPrefix( ) ) ) ,"@@@@@"," --outputDisplacementFieldPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputCheckerboardVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputCheckerboardVolume( ) ) ) ,"@@@@@"," --outputCheckerboardVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerboardPatternSubdivisions" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerboardPatternSubdivisions( ) ) ) ,"@@@@@"," --checkerboardPatternSubdivisions ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputNormalized" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputNormalized( ) ) ) ,"@@@@@"," --outputNormalized ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDebug( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgradientType( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingUp( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxStepLength( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-a" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputturnOffDiffeomorph( ) ) ) ,"@@@@@"," -a ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBCHApproximationTerms" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBCHApproximationTerms( ) ) ) ,"@@@@@"," --numberOfBCHApproximationTerms ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void DemonRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void DemonRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void DemonRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void DemonRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h new file mode 100644 index 0000000..8482ead --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h @@ -0,0 +1,136 @@ +#ifndef __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT DemonRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( movingVolume , std::string ); +BBTK_DECLARE_INPUT ( fixedVolume , std::string ); +BBTK_DECLARE_INPUT ( inputPixelType , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldVolume , std::string ); +BBTK_DECLARE_INPUT ( outputPixelType , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( registrationFilterType , std::string ); +BBTK_DECLARE_INPUT ( smoothDisplacementFieldSigma , double ); +BBTK_DECLARE_INPUT ( numberOfPyramidLevels , int ); +BBTK_DECLARE_INPUT ( minimumFixedPyramid , std::vector ); +BBTK_DECLARE_INPUT ( minimumMovingPyramid , std::vector ); +BBTK_DECLARE_INPUT ( arrayOfPyramidLevelIterations , std::vector ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( initializeWithDisplacementField , std::string ); +BBTK_DECLARE_INPUT ( initializeWithTransform , std::string ); +BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( lowerThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( upperThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( backgroundFillValue , int ); +BBTK_DECLARE_INPUT ( seedForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( neighborhoodForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldPrefix , std::string ); +BBTK_DECLARE_INPUT ( outputCheckerboardVolume , std::string ); +BBTK_DECLARE_INPUT ( checkerboardPatternSubdivisions , std::vector ); +BBTK_DECLARE_INPUT ( outputNormalized , bool ); +BBTK_DECLARE_INPUT ( outputDebug , bool ); +BBTK_DECLARE_INPUT ( gradientType , int ); +BBTK_DECLARE_INPUT ( smoothingUp , double ); +BBTK_DECLARE_INPUT ( maxStepLength , double ); +BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "DemonRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ; + BBTK_DESCRIPTION ( "This program finds a deformation field to warp a moving image onto a fixed image. The images must be of the same signal kind, and contain an image of the same kind of object. This program uses the Thirion Demons warp software in ITK, the Insight Toolkit. Additional information is available at: http://www.nitrc.org/projects/brainsdemonwarp." ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(DemonRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , gradientType , "gradientType" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS ) ; +} + +#endif // __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx b/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx index 87e2029..49caf5c 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx @@ -11,13 +11,13 @@ namespace bbSlicer { int _argc =7; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libDicomToNrrdConverterLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputDicomDirectory" ) + Mthd::Aux::toString( bbGetInputinputDicomDirectory( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDirectory" ) + Mthd::Aux::toString( bbGetInputoutputDirectory( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smallGradientThreshold" ) + Mthd::Aux::toString( bbGetInputsmallGradientThreshold( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeProtocolGradientsFile" ) + Mthd::Aux::toString( bbGetInputwriteProtocolGradientsFile( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useIdentityMeaseurementFrame" ) + Mthd::Aux::toString( bbGetInputuseIdentityMeaseurementFrame( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBMatrixGradientDirections" ) + Mthd::Aux::toString( bbGetInputuseBMatrixGradientDirections( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputDicomDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputDicomDirectory( ) ) ) ,"@@@@@"," --inputDicomDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDirectory( ) ) ) ,"@@@@@"," --outputDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smallGradientThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmallGradientThreshold( ) ) ) ,"@@@@@"," --smallGradientThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeProtocolGradientsFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwriteProtocolGradientsFile( ) ) ) ,"@@@@@"," --writeProtocolGradientsFile ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useIdentityMeaseurementFrame" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseIdentityMeaseurementFrame( ) ) ) ,"@@@@@"," --useIdentityMeaseurementFrame ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBMatrixGradientDirections" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseBMatrixGradientDirections( ) ) ) ,"@@@@@"," --useBMatrixGradientDirections ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx new file mode 100644 index 0000000..659a398 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx @@ -0,0 +1,82 @@ +#include "bbSlicerExecutionModelTour.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExecutionModelTour ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExecutionModelTour, bbtk::AtomicBlackBox ); + + void ExecutionModelTour::Process ( ) { + + // GENERATED + +int _argc =28; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libExecutionModelTourLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputintegerVariable( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdoubleVariable( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfloatVector( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--string_vector" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstringVector( ) ) ) ,"@@@@@"," --string_vector ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstringChoice( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean1( ) ) ) ,"@@@@@"," --boolean1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean2( ) ) ) ,"@@@@@"," --boolean2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean3" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean3( ) ) ) ,"@@@@@"," --boolean3 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--file1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfile1( ) ) ) ,"@@@@@"," --file1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--files" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfiles( ) ) ) ,"@@@@@"," --files ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--directory1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdirectory1( ) ) ) ,"@@@@@"," --directory1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimage1( ) ) ) ,"@@@@@"," --image1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimage2( ) ) ) ,"@@@@@"," --image2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransform1( ) ) ) ,"@@@@@"," --transform1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransform2( ) ) ) ,"@@@@@"," --transform2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseed( ) ) ) ,"@@@@@"," --seed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarg0( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarg1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--region" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregions( ) ) ) ,"@@@@@"," --region ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputFA" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputFA( ) ) ) ,"@@@@@"," --inputFA ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputFA" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputFA( ) ) ) ,"@@@@@"," --outputFA ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputanintegerreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputabooleanreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputafloatreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputadoublereturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputastringreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputanintegervectorreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputastringchoicereturn( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExecutionModelTour::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExecutionModelTour::bbUserSetDefaultValues ( ) { + } + + void ExecutionModelTour::bbUserInitializeProcessing ( ) { + } + + void ExecutionModelTour::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h new file mode 100644 index 0000000..b867459 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h @@ -0,0 +1,112 @@ +#ifndef __bbSlicerExecutionModelTour_h_INCLUDED__ +#define __bbSlicerExecutionModelTour_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExecutionModelTour + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExecutionModelTour , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( integerVariable , int ); +BBTK_DECLARE_INPUT ( doubleVariable , double ); +BBTK_DECLARE_INPUT ( floatVector , std::vector ); +BBTK_DECLARE_INPUT ( stringVector , std::vector ); +BBTK_DECLARE_INPUT ( stringChoice , std::string ); +BBTK_DECLARE_INPUT ( boolean1 , bool ); +BBTK_DECLARE_INPUT ( boolean2 , bool ); +BBTK_DECLARE_INPUT ( boolean3 , bool ); +BBTK_DECLARE_INPUT ( file1 , std::string ); +BBTK_DECLARE_INPUT ( files , std::vector ); +BBTK_DECLARE_INPUT ( directory1 , std::string ); +BBTK_DECLARE_INPUT ( image1 , std::string ); +BBTK_DECLARE_INPUT ( image2 , std::string ); +BBTK_DECLARE_INPUT ( transform1 , std::string ); +BBTK_DECLARE_INPUT ( transform2 , std::string ); +BBTK_DECLARE_INPUT ( seed , std::vector > ); +BBTK_DECLARE_INPUT ( arg0 , std::string ); +BBTK_DECLARE_INPUT ( arg1 , std::string ); +BBTK_DECLARE_INPUT ( regions , std::vector > ); +BBTK_DECLARE_INPUT ( inputFA , std::string ); +BBTK_DECLARE_INPUT ( outputFA , std::string ); +BBTK_DECLARE_INPUT ( anintegerreturn , int ); +BBTK_DECLARE_INPUT ( abooleanreturn , bool ); +BBTK_DECLARE_INPUT ( afloatreturn , float ); +BBTK_DECLARE_INPUT ( adoublereturn , double ); +BBTK_DECLARE_INPUT ( astringreturn , std::string ); +BBTK_DECLARE_INPUT ( anintegervectorreturn , std::vector ); +BBTK_DECLARE_INPUT ( astringchoicereturn , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExecutionModelTour , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExecutionModelTour" ) ; + BBTK_AUTHOR ( "Daniel Blezek, Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Shows one of each type of parameter." ) ; + BBTK_CATEGORY ( "Developer Tools" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExecutionModelTour , integerVariable , "integerVariable" , int, ""); +BBTK_INPUT(ExecutionModelTour , doubleVariable , "doubleVariable" , double, ""); +BBTK_INPUT(ExecutionModelTour , floatVector , "floatVector" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , stringVector , "stringVector" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , stringChoice , "stringChoice" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , boolean1 , "boolean1" , bool, ""); +BBTK_INPUT(ExecutionModelTour , boolean2 , "boolean2" , bool, ""); +BBTK_INPUT(ExecutionModelTour , boolean3 , "boolean3" , bool, ""); +BBTK_INPUT(ExecutionModelTour , file1 , "file1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , files , "files" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , directory1 , "directory1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , image1 , "image1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , image2 , "image2" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , transform1 , "transform1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , transform2 , "transform2" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , seed , "seed" , std::vector >, ""); +BBTK_INPUT(ExecutionModelTour , arg0 , "arg0" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , arg1 , "arg1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , regions , "regions" , std::vector >, ""); +BBTK_INPUT(ExecutionModelTour , inputFA , "inputFA" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , outputFA , "outputFA" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , anintegerreturn , "anintegerreturn" , int, ""); +BBTK_INPUT(ExecutionModelTour , abooleanreturn , "abooleanreturn" , bool, ""); +BBTK_INPUT(ExecutionModelTour , afloatreturn , "afloatreturn" , float, ""); +BBTK_INPUT(ExecutionModelTour , adoublereturn , "adoublereturn" , double, ""); +BBTK_INPUT(ExecutionModelTour , astringreturn , "astringreturn" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , anintegervectorreturn , "anintegervectorreturn" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , astringchoicereturn , "astringchoicereturn" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExecutionModelTour ) ; +} + +#endif // __bbSlicerExecutionModelTour_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx new file mode 100644 index 0000000..61ea18d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx @@ -0,0 +1,82 @@ +#include "bbSlicerExpertAutomatedRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExpertAutomatedRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExpertAutomatedRegistration, bbtk::AtomicBlackBox ); + + void ExpertAutomatedRegistration::Process ( ) { + + // GENERATED + +int _argc =28; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRegisterImagesModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputresampledImage( ) ) ) ,"@@@@@"," --resampledImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--loadTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputloadTransform( ) ) ) ,"@@@@@"," --loadTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsaveTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialization" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialization( ) ) ) ,"@@@@@"," --initialization ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registration" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistration( ) ) ) ,"@@@@@"," --registration ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--metric" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmetric( ) ) ) ,"@@@@@"," --metric ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedOffset" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedOffset( ) ) ) ,"@@@@@"," --expectedOffset ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedRotation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedRotation( ) ) ) ,"@@@@@"," --expectedRotation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedScale( ) ) ) ,"@@@@@"," --expectedScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedSkew" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedSkew( ) ) ) ,"@@@@@"," --expectedSkew ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--verbosityLevel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputverbosityLevel( ) ) ) ,"@@@@@"," --verbosityLevel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--sampleFromOverlap" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsampleFromOverlap( ) ) ) ,"@@@@@"," --sampleFromOverlap ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageMask( ) ) ) ,"@@@@@"," --fixedImageMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--randomNumberSeed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrandomNumberSeed( ) ) ) ,"@@@@@"," --randomNumberSeed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimizeMemory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimizeMemory( ) ) ) ,"@@@@@"," --minimizeMemory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolation( ) ) ) ,"@@@@@"," --interpolation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedLandmarks( ) ) ) ,"@@@@@"," --fixedLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingLandmarks( ) ) ) ,"@@@@@"," --movingLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rigidMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrigidMaxIterations( ) ) ) ,"@@@@@"," --rigidMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rigidSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrigidSamplingRatio( ) ) ) ,"@@@@@"," --rigidSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--affineMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputaffineMaxIterations( ) ) ) ,"@@@@@"," --affineMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--affineSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputaffineSamplingRatio( ) ) ) ,"@@@@@"," --affineSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineMaxIterations( ) ) ) ,"@@@@@"," --bsplineMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineSamplingRatio( ) ) ) ,"@@@@@"," --bsplineSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--controlPointSpacing" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcontrolPointSpacing( ) ) ) ,"@@@@@"," --controlPointSpacing ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExpertAutomatedRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExpertAutomatedRegistration::bbUserSetDefaultValues ( ) { + } + + void ExpertAutomatedRegistration::bbUserInitializeProcessing ( ) { + } + + void ExpertAutomatedRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h new file mode 100644 index 0000000..5c0312d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h @@ -0,0 +1,112 @@ +#ifndef __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ +#define __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExpertAutomatedRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedImage , std::string ); +BBTK_DECLARE_INPUT ( movingImage , std::string ); +BBTK_DECLARE_INPUT ( resampledImage , std::string ); +BBTK_DECLARE_INPUT ( loadTransform , std::string ); +BBTK_DECLARE_INPUT ( saveTransform , std::string ); +BBTK_DECLARE_INPUT ( initialization , std::string ); +BBTK_DECLARE_INPUT ( registration , std::string ); +BBTK_DECLARE_INPUT ( metric , std::string ); +BBTK_DECLARE_INPUT ( expectedOffset , float ); +BBTK_DECLARE_INPUT ( expectedRotation , float ); +BBTK_DECLARE_INPUT ( expectedScale , float ); +BBTK_DECLARE_INPUT ( expectedSkew , float ); +BBTK_DECLARE_INPUT ( verbosityLevel , std::string ); +BBTK_DECLARE_INPUT ( sampleFromOverlap , bool ); +BBTK_DECLARE_INPUT ( fixedImageMask , std::string ); +BBTK_DECLARE_INPUT ( randomNumberSeed , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); +BBTK_DECLARE_INPUT ( minimizeMemory , bool ); +BBTK_DECLARE_INPUT ( interpolation , std::string ); +BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( movingLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( rigidMaxIterations , int ); +BBTK_DECLARE_INPUT ( rigidSamplingRatio , float ); +BBTK_DECLARE_INPUT ( affineMaxIterations , int ); +BBTK_DECLARE_INPUT ( affineSamplingRatio , float ); +BBTK_DECLARE_INPUT ( bsplineMaxIterations , int ); +BBTK_DECLARE_INPUT ( bsplineSamplingRatio , float ); +BBTK_DECLARE_INPUT ( controlPointSpacing , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExpertAutomatedRegistration" ) ; + BBTK_AUTHOR ( "Stephen R Aylward, Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Provides rigid, affine, and BSpline registration methods via a simple GUI" ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExpertAutomatedRegistration , fixedImage , "fixedImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , movingImage , "movingImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , resampledImage , "resampledImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , loadTransform , "loadTransform" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , saveTransform , "saveTransform" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , initialization , "initialization" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , registration , "registration" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , metric , "metric" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedOffset , "expectedOffset" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedRotation , "expectedRotation" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedScale , "expectedScale" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedSkew , "expectedSkew" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , verbosityLevel , "verbosityLevel" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , sampleFromOverlap , "sampleFromOverlap" , bool, ""); +BBTK_INPUT(ExpertAutomatedRegistration , fixedImageMask , "fixedImageMask" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , randomNumberSeed , "randomNumberSeed" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , numberOfThreads , "numberOfThreads" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , minimizeMemory , "minimizeMemory" , bool, ""); +BBTK_INPUT(ExpertAutomatedRegistration , interpolation , "interpolation" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , fixedLandmarks , "fixedLandmarks" , std::vector >, ""); +BBTK_INPUT(ExpertAutomatedRegistration , movingLandmarks , "movingLandmarks" , std::vector >, ""); +BBTK_INPUT(ExpertAutomatedRegistration , rigidMaxIterations , "rigidMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , rigidSamplingRatio , "rigidSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , affineMaxIterations , "affineMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , affineSamplingRatio , "affineSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , bsplineMaxIterations , "bsplineMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , bsplineSamplingRatio , "bsplineSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , controlPointSpacing , "controlPointSpacing" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration ) ; +} + +#endif // __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx b/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx index 5afd4d6..ca15465 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx @@ -11,12 +11,12 @@ namespace bbSlicer { int _argc =6; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libExtractSkeletonLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--type" ) + Mthd::Aux::toString( bbGetInputSkeletonType( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dontPrune" ) + Mthd::Aux::toString( bbGetInputDontPruneBranches( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numPoints" ) + Mthd::Aux::toString( bbGetInputNumberOfPoints( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointsFile" ) + Mthd::Aux::toString( bbGetInputOutputPointsFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--type" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkeletonType( ) ) ) ,"@@@@@"," --type ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dontPrune" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDontPruneBranches( ) ) ) ,"@@@@@"," --dontPrune ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfPoints( ) ) ) ,"@@@@@"," --numPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointsFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputPointsFileName( ) ) ) ,"@@@@@"," --pointsFile ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx new file mode 100644 index 0000000..b2b8a79 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerFastAffineregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastAffineregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastAffineregistration, bbtk::AtomicBlackBox ); + + void FastAffineregistration::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libAffineRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastAffineregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastAffineregistration::bbUserSetDefaultValues ( ) { + } + + void FastAffineregistration::bbUserInitializeProcessing ( ) { + } + + void FastAffineregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h new file mode 100644 index 0000000..ae6c4a6 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerFastAffineregistration_h_INCLUDED__ +#define __bbSlicerFastAffineregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastAffineregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastAffineregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , int ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastAffineregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastAffineregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using an affine transform and mutual information. This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastAffineregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastAffineregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastAffineregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastAffineregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastAffineregistration , Iterations , "Iterations" , int, ""); +BBTK_INPUT(FastAffineregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(FastAffineregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastAffineregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastAffineregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastAffineregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastAffineregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastAffineregistration ) ; +} + +#endif // __bbSlicerFastAffineregistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx index a4f41cb..cb3326a 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx @@ -11,19 +11,19 @@ namespace bbSlicer { int _argc =13; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineDeformableRegistrationLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::toString( bbGetInputIterations( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::toString( bbGetInputgridSize( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain" ) + Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp" ) + Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ) ,"@@@@@"," --constrain ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ) ,"@@@@@"," --outputwarp ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx new file mode 100644 index 0000000..ef25e18 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx @@ -0,0 +1,67 @@ +#include "bbSlicerFastRigidregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastRigidregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastRigidregistration, bbtk::AtomicBlackBox ); + + void FastRigidregistration::Process ( ) { + + // GENERATED + +int _argc =13; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRigidRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--testingmode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTestingMode( ) ) ) ,"@@@@@"," --testingmode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLearningRate( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastRigidregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastRigidregistration::bbUserSetDefaultValues ( ) { + } + + void FastRigidregistration::bbUserInitializeProcessing ( ) { + } + + void FastRigidregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h new file mode 100644 index 0000000..9628e70 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h @@ -0,0 +1,82 @@ +#ifndef __bbSlicerFastRigidregistration_h_INCLUDED__ +#define __bbSlicerFastRigidregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastRigidregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastRigidregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( TestingMode , bool ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , std::vector ); +BBTK_DECLARE_INPUT ( LearningRate , std::vector ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastRigidregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastRigidregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information.This module was originally distributed as 'Linear registration' but has been renamed to eliminate confusion with the 'Affine registration' module.This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastRigidregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastRigidregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastRigidregistration , TestingMode , "TestingMode" , bool, ""); +BBTK_INPUT(FastRigidregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastRigidregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastRigidregistration , Iterations , "Iterations" , std::vector, ""); +BBTK_INPUT(FastRigidregistration , LearningRate , "LearningRate" , std::vector, ""); +BBTK_INPUT(FastRigidregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(FastRigidregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastRigidregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastRigidregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastRigidregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastRigidregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastRigidregistration ) ; +} + +#endif // __bbSlicerFastRigidregistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx new file mode 100644 index 0000000..0d6bca8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerFiducialRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FiducialRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FiducialRegistration, bbtk::AtomicBlackBox ); + + void FiducialRegistration::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libTransformFromFiducialsModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedLandmarks( ) ) ) ,"@@@@@"," --fixedLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingLandmarks( ) ) ) ,"@@@@@"," --movingLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsaveTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transformType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," --transformType ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FiducialRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FiducialRegistration::bbUserSetDefaultValues ( ) { + } + + void FiducialRegistration::bbUserInitializeProcessing ( ) { + } + + void FiducialRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h new file mode 100644 index 0000000..46870b4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerFiducialRegistration_h_INCLUDED__ +#define __bbSlicerFiducialRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FiducialRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FiducialRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( movingLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( saveTransform , std::string ); +BBTK_DECLARE_INPUT ( transformType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FiducialRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FiducialRegistration" ) ; + BBTK_AUTHOR ( "Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Computes a rigid, similarity or affine transform from a matched list of fiducials" ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FiducialRegistration , fixedLandmarks , "fixedLandmarks" , std::vector >, ""); +BBTK_INPUT(FiducialRegistration , movingLandmarks , "movingLandmarks" , std::vector >, ""); +BBTK_INPUT(FiducialRegistration , saveTransform , "saveTransform" , std::string, ""); +BBTK_INPUT(FiducialRegistration , transformType , "transformType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FiducialRegistration ) ; +} + +#endif // __bbSlicerFiducialRegistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx new file mode 100644 index 0000000..5ba6b77 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx @@ -0,0 +1,63 @@ +#include "bbSlicerForegroundmaskingBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ForegroundmaskingBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ForegroundmaskingBRAINS, bbtk::AtomicBlackBox ); + + void ForegroundmaskingBRAINS::Process ( ) { + + // GENERATED + +int _argc =9; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSROIAutoLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@"," --inputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputROIMaskVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputROIMaskVolume( ) ) ) ,"@@@@@"," --outputROIMaskVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputClippedVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputClippedVolumeROI( ) ) ) ,"@@@@@"," --outputClippedVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--otsuPercentileThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputotsuPercentileThreshold( ) ) ) ,"@@@@@"," --otsuPercentileThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdCorrectionFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputthresholdCorrectionFactor( ) ) ) ,"@@@@@"," --thresholdCorrectionFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--closingSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputclosingSize( ) ) ) ,"@@@@@"," --closingSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoDilateSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoDilateSize( ) ) ) ,"@@@@@"," --ROIAutoDilateSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolumePixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolumePixelType( ) ) ) ,"@@@@@"," --outputVolumePixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ForegroundmaskingBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ForegroundmaskingBRAINS::bbUserSetDefaultValues ( ) { + } + + void ForegroundmaskingBRAINS::bbUserInitializeProcessing ( ) { + } + + void ForegroundmaskingBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h new file mode 100644 index 0000000..ae8f25e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h @@ -0,0 +1,74 @@ +#ifndef __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ +#define __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ForegroundmaskingBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputROIMaskVolume , std::string ); +BBTK_DECLARE_INPUT ( outputClippedVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( otsuPercentileThreshold , double ); +BBTK_DECLARE_INPUT ( thresholdCorrectionFactor , double ); +BBTK_DECLARE_INPUT ( closingSize , double ); +BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); +BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ForegroundmaskingBRAINS" ) ; + BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; + BBTK_DESCRIPTION ( "This tool uses a combination of otsu thresholding and a closing operations to identify the most prominant foreground region in an image." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ForegroundmaskingBRAINS , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputROIMaskVolume , "outputROIMaskVolume" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputClippedVolumeROI , "outputClippedVolumeROI" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , otsuPercentileThreshold , "otsuPercentileThreshold" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , thresholdCorrectionFactor , "thresholdCorrectionFactor" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , closingSize , "closingSize" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS ) ; +} + +#endif // __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx b/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx index bb99921..71d5e09 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGaussianBlurImageFilterLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::toString( bbGetInputsigma( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx new file mode 100644 index 0000000..43a0846 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx @@ -0,0 +1,114 @@ +#include "bbSlicerGeneralRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GeneralRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GeneralRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void GeneralRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =60; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSFitLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," --fixedVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," --movingVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineTransform( ) ) ) ,"@@@@@"," --bsplineTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--linearTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlinearTransform( ) ) ) ,"@@@@@"," --linearTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialTransform( ) ) ) ,"@@@@@"," --initialTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeTransformMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeTransformMode( ) ) ) ,"@@@@@"," --initializeTransformMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useRigid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseRigid( ) ) ) ,"@@@@@"," --useRigid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useScaleVersor3D" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseScaleVersor3D( ) ) ) ,"@@@@@"," --useScaleVersor3D ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useScaleSkewVersor3D" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseScaleSkewVersor3D( ) ) ) ,"@@@@@"," --useScaleSkewVersor3D ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useAffine" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseAffine( ) ) ) ,"@@@@@"," --useAffine ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBSpline" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseBSpline( ) ) ) ,"@@@@@"," --useBSpline ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfSamples" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfSamples( ) ) ) ,"@@@@@"," --numberOfSamples ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splineGridSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineGridSize( ) ) ) ,"@@@@@"," --splineGridSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --numberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskProcessingMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskProcessingMode( ) ) ) ,"@@@@@"," --maskProcessingMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputFixedVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputFixedVolumeROI( ) ) ) ,"@@@@@"," --outputFixedVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputMovingVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputMovingVolumeROI( ) ) ) ,"@@@@@"," --outputMovingVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolumePixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolumePixelType( ) ) ) ,"@@@@@"," --outputVolumePixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskInferiorCutOffFromCenter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskInferiorCutOffFromCenter( ) ) ) ,"@@@@@"," --maskInferiorCutOffFromCenter ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--scaleOutputValues" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputscaleOutputValues( ) ) ) ,"@@@@@"," --scaleOutputValues ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumStepLength" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumStepLength( ) ) ) ,"@@@@@"," --minimumStepLength ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--translationScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtranslationScale( ) ) ) ,"@@@@@"," --translationScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reproportionScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreproportionScale( ) ) ) ,"@@@@@"," --reproportionScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skewScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputskewScale( ) ) ) ,"@@@@@"," --skewScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxBSplineDisplacement" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxBSplineDisplacement( ) ) ) ,"@@@@@"," --maxBSplineDisplacement ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--strippedOutputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstrippedOutputTransform( ) ) ) ,"@@@@@"," --strippedOutputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transformType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," --transformType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputTransform( ) ) ) ,"@@@@@"," --outputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedVolumeTimeIndex" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolumeTimeIndex( ) ) ) ,"@@@@@"," --fixedVolumeTimeIndex ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingVolumeTimeIndex" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolumeTimeIndex( ) ) ) ,"@@@@@"," --movingVolumeTimeIndex ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--removeIntensityOutliers" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputremoveIntensityOutliers( ) ) ) ,"@@@@@"," --removeIntensityOutliers ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCachingOfBSplineWeightsMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCachingOfBSplineWeightsMode( ) ) ) ,"@@@@@"," --useCachingOfBSplineWeightsMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useExplicitPDFDerivativesMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseExplicitPDFDerivativesMode( ) ) ) ,"@@@@@"," --useExplicitPDFDerivativesMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoDilateSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoDilateSize( ) ) ) ,"@@@@@"," --ROIAutoDilateSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoClosingSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoClosingSize( ) ) ) ,"@@@@@"," --ROIAutoClosingSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--relaxationFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrelaxationFactor( ) ) ) ,"@@@@@"," --relaxationFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumStepLength" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaximumStepLength( ) ) ) ,"@@@@@"," --maximumStepLength ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--failureExitCode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfailureExitCode( ) ) ) ,"@@@@@"," --failureExitCode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeTransformOnFailure" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwriteTransformOnFailure( ) ) ) ,"@@@@@"," --writeTransformOnFailure ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--forceMINumberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputforceMINumberOfThreads( ) ) ) ,"@@@@@"," --forceMINumberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--debugLevel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebugLevel( ) ) ) ,"@@@@@"," --debugLevel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--costFunctionConvergenceFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcostFunctionConvergenceFactor( ) ) ) ,"@@@@@"," --costFunctionConvergenceFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--projectedGradientTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputprojectedGradientTolerance( ) ) ) ,"@@@@@"," --projectedGradientTolerance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_00" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseMomentsAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_00 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_01" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseGeometryAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_01 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_02" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCenterOfHeadAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_02 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--permitParameterVariation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpermitParameterVariation( ) ) ) ,"@@@@@"," --permitParameterVariation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--costMetric" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcostMetric( ) ) ) ,"@@@@@"," --costMetric ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GeneralRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GeneralRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void GeneralRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void GeneralRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h new file mode 100644 index 0000000..6bdf64a --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h @@ -0,0 +1,176 @@ +#ifndef __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GeneralRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedVolume , std::string ); +BBTK_DECLARE_INPUT ( movingVolume , std::string ); +BBTK_DECLARE_INPUT ( bsplineTransform , std::string ); +BBTK_DECLARE_INPUT ( linearTransform , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( initialTransform , std::string ); +BBTK_DECLARE_INPUT ( initializeTransformMode , std::string ); +BBTK_DECLARE_INPUT ( useRigid , bool ); +BBTK_DECLARE_INPUT ( useScaleVersor3D , bool ); +BBTK_DECLARE_INPUT ( useScaleSkewVersor3D , bool ); +BBTK_DECLARE_INPUT ( useAffine , bool ); +BBTK_DECLARE_INPUT ( useBSpline , bool ); +BBTK_DECLARE_INPUT ( numberOfSamples , int ); +BBTK_DECLARE_INPUT ( splineGridSize , std::vector ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( outputFixedVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( outputMovingVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); +BBTK_DECLARE_INPUT ( backgroundFillValue , double ); +BBTK_DECLARE_INPUT ( maskInferiorCutOffFromCenter , double ); +BBTK_DECLARE_INPUT ( scaleOutputValues , bool ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( minimumStepLength , std::vector ); +BBTK_DECLARE_INPUT ( translationScale , double ); +BBTK_DECLARE_INPUT ( reproportionScale , double ); +BBTK_DECLARE_INPUT ( skewScale , double ); +BBTK_DECLARE_INPUT ( maxBSplineDisplacement , double ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( strippedOutputTransform , std::string ); +BBTK_DECLARE_INPUT ( transformType , std::vector ); +BBTK_DECLARE_INPUT ( outputTransform , std::string ); +BBTK_DECLARE_INPUT ( fixedVolumeTimeIndex , int ); +BBTK_DECLARE_INPUT ( movingVolumeTimeIndex , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( removeIntensityOutliers , double ); +BBTK_DECLARE_INPUT ( useCachingOfBSplineWeightsMode , std::string ); +BBTK_DECLARE_INPUT ( useExplicitPDFDerivativesMode , std::string ); +BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); +BBTK_DECLARE_INPUT ( ROIAutoClosingSize , double ); +BBTK_DECLARE_INPUT ( relaxationFactor , double ); +BBTK_DECLARE_INPUT ( maximumStepLength , double ); +BBTK_DECLARE_INPUT ( failureExitCode , int ); +BBTK_DECLARE_INPUT ( writeTransformOnFailure , bool ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); +BBTK_DECLARE_INPUT ( forceMINumberOfThreads , int ); +BBTK_DECLARE_INPUT ( debugLevel , int ); +BBTK_DECLARE_INPUT ( costFunctionConvergenceFactor , double ); +BBTK_DECLARE_INPUT ( projectedGradientTolerance , double ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( useMomentsAlign , bool ); +BBTK_DECLARE_INPUT ( useGeometryAlign , bool ); +BBTK_DECLARE_INPUT ( useCenterOfHeadAlign , bool ); +BBTK_DECLARE_INPUT ( permitParameterVariation , std::vector ); +BBTK_DECLARE_INPUT ( costMetric , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GeneralRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; + BBTK_DESCRIPTION ( "Register a three-dimensional volume to a reference volume Mattes Mutual Information by default. Described in BRAINSFit: Mutual Information Registrations of Whole-Brain 3D Images, Using the Insight Toolkit, Johnson H.J., Harris G., Williams K., The Insight Journal, 2007. http://hdl.handle.net/1926/1291" ) ; + BBTK_CATEGORY ( "Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , bsplineTransform , "bsplineTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , linearTransform , "linearTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , initialTransform , "initialTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , initializeTransformMode , "initializeTransformMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useRigid , "useRigid" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useScaleVersor3D , "useScaleVersor3D" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useScaleSkewVersor3D , "useScaleSkewVersor3D" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useAffine , "useAffine" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useBSpline , "useBSpline" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfSamples , "numberOfSamples" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , splineGridSize , "splineGridSize" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputFixedVolumeROI , "outputFixedVolumeROI" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputMovingVolumeROI , "outputMovingVolumeROI" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maskInferiorCutOffFromCenter , "maskInferiorCutOffFromCenter" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , scaleOutputValues , "scaleOutputValues" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , minimumStepLength , "minimumStepLength" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , translationScale , "translationScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , reproportionScale , "reproportionScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , skewScale , "skewScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maxBSplineDisplacement , "maxBSplineDisplacement" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , strippedOutputTransform , "strippedOutputTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , transformType , "transformType" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputTransform , "outputTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolumeTimeIndex , "fixedVolumeTimeIndex" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingVolumeTimeIndex , "movingVolumeTimeIndex" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , removeIntensityOutliers , "removeIntensityOutliers" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useCachingOfBSplineWeightsMode , "useCachingOfBSplineWeightsMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useExplicitPDFDerivativesMode , "useExplicitPDFDerivativesMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoClosingSize , "ROIAutoClosingSize" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , relaxationFactor , "relaxationFactor" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maximumStepLength , "maximumStepLength" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , failureExitCode , "failureExitCode" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , writeTransformOnFailure , "writeTransformOnFailure" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , forceMINumberOfThreads , "forceMINumberOfThreads" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , debugLevel , "debugLevel" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , costFunctionConvergenceFactor , "costFunctionConvergenceFactor" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , projectedGradientTolerance , "projectedGradientTolerance" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useMomentsAlign , "useMomentsAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useGeometryAlign , "useGeometryAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useCenterOfHeadAlign , "useCenterOfHeadAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , permitParameterVariation , "permitParameterVariation" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , costMetric , "costMetric" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS ) ; +} + +#endif // __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx new file mode 100644 index 0000000..ef5ab1b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerGradientAnisotropicDiffusion.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GradientAnisotropicDiffusion ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GradientAnisotropicDiffusion, bbtk::AtomicBlackBox ); + + void GradientAnisotropicDiffusion::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGradientAnisotropicDiffusionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--conductance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconductance( ) ) ) ,"@@@@@"," --conductance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timeStep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimeStep( ) ) ) ,"@@@@@"," --timeStep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GradientAnisotropicDiffusion::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GradientAnisotropicDiffusion::bbUserSetDefaultValues ( ) { + } + + void GradientAnisotropicDiffusion::bbUserInitializeProcessing ( ) { + } + + void GradientAnisotropicDiffusion::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h new file mode 100644 index 0000000..eb9e3ad --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ +#define __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GradientAnisotropicDiffusion + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GradientAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( conductance , double ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( timeStep , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GradientAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GradientAnisotropicDiffusion" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Runs gradient anisotropic diffusion on a volume.Anisotropic diffusion methods reduce noise or unwanted detail in images while preserving specific image features, like edges. For many applications, there is an assumption that light-dark transitions edges are interesting. Standard isotropic diffusion methods move and blur light-dark boundaries. Anisotropic diffusion methods are formulated to specifically preserve edges. The conductance term for this implementation is a function of the gradient magnitude of the image at each point, reducing the strength of diffusion at edges. The numerical implementation of this equation is similar to that described in the Perona-Malik paper, but uses a more robust technique for gradient magnitude estimation and has been generalized to N-dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GradientAnisotropicDiffusion , conductance , "conductance" , double, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , timeStep , "timeStep" , double, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GradientAnisotropicDiffusion ) ; +} + +#endif // __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx new file mode 100644 index 0000000..3300e5d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerGrayscaleFillHole.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GrayscaleFillHole ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GrayscaleFillHole, bbtk::AtomicBlackBox ); + + void GrayscaleFillHole::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGrayscaleFillHoleImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GrayscaleFillHole::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GrayscaleFillHole::bbUserSetDefaultValues ( ) { + } + + void GrayscaleFillHole::bbUserInitializeProcessing ( ) { + } + + void GrayscaleFillHole::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h new file mode 100644 index 0000000..695d7e2 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerGrayscaleFillHole_h_INCLUDED__ +#define __bbSlicerGrayscaleFillHole_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GrayscaleFillHole + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GrayscaleFillHole , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GrayscaleFillHole , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GrayscaleFillHole" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "GrayscaleFillholeImageFilter fills holes in a grayscale image. Holes are local minima in the grayscale topography that are not connected to boundaries of the image. Gray level values adjacent to a hole are extrapolated across the hole.This filter is used to smooth over local minima without affecting the values of local maxima. If you take the difference between the output of this filter and the original image and perhaps threshold the difference above a small value, you'll obtain a map of the local minima.This filter uses the itkGrayscaleGeodesicErodeImageFilter. It provides its own input as the 'mask' input to the geodesic erosion. The 'marker' image for the geodesic erosion is constructed such that boundary pixels match the boundary pixels of the input image and the interior pixels are set to the maximum pixel value in the input image. Geodesic morphology and the Fillhole algorithm is described in Chapter 6 of Pierre Soille's book 'Morphological Image Analysis: Principles and Applications', Second Edition, Springer, 2003. A companion filter, Grayscale Grind Peak, removes peaks in grayscale images." ) ; + BBTK_CATEGORY ( "Filtering.Morphology" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GrayscaleFillHole , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GrayscaleFillHole , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GrayscaleFillHole ) ; +} + +#endif // __bbSlicerGrayscaleFillHole_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx new file mode 100644 index 0000000..aae444b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerGrayscaleGrindPeak.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GrayscaleGrindPeak ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GrayscaleGrindPeak, bbtk::AtomicBlackBox ); + + void GrayscaleGrindPeak::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGrayscaleGrindPeakImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GrayscaleGrindPeak::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GrayscaleGrindPeak::bbUserSetDefaultValues ( ) { + } + + void GrayscaleGrindPeak::bbUserInitializeProcessing ( ) { + } + + void GrayscaleGrindPeak::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h new file mode 100644 index 0000000..0b43992 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ +#define __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GrayscaleGrindPeak + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GrayscaleGrindPeak , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GrayscaleGrindPeak , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GrayscaleGrindPeak" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "GrayscaleGrindPeakImageFilter removes peaks in a grayscale image. Peaks are local maxima in the grayscale topography that are not connected to boundaries of the image. Gray level values adjacent to a peak are extrapolated through the peak.This filter is used to smooth over local maxima without affecting the values of local minima. If you take the difference between the output of this filter and the original image and perhaps threshold the difference above a small value, you'll obtain a map of the local maxima.This filter uses the GrayscaleGeodesicDilateImageFilter. It provides its own input as the 'mask' input to the geodesic erosion. The 'marker' image for the geodesic erosion is constructed such that boundary pixels match the boundary pixels of the input image and the interior pixels are set to the minimum pixel value in the input image.This filter is the dual to the GrayscaleFillholeImageFilter which implements the Fillhole algorithm. Since it is a dual, it is somewhat superfluous but is provided as a convenience.Geodesic morphology and the Fillhole algorithm is described in Chapter 6 of Pierre Soille's book 'Morphological Image Analysis: Principles and Applications', Second Edition, Springer, 2003.A companion filter, Grayscale Fill Hole, fills holes in grayscale images." ) ; + BBTK_CATEGORY ( "Filtering.Morphology" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GrayscaleGrindPeak , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GrayscaleGrindPeak , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GrayscaleGrindPeak ) ; +} + +#endif // __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx new file mode 100644 index 0000000..b78a83f --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerHistogramMatching.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, HistogramMatching ) + BBTK_BLACK_BOX_IMPLEMENTATION ( HistogramMatching, bbtk::AtomicBlackBox ); + + void HistogramMatching::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libHistogramMatchingLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramLevels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramLevels( ) ) ) ,"@@@@@"," --numberOfHistogramLevels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--threshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputthresholdAtMeanIntensity( ) ) ) ,"@@@@@"," --threshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void HistogramMatching::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void HistogramMatching::bbUserSetDefaultValues ( ) { + } + + void HistogramMatching::bbUserInitializeProcessing ( ) { + } + + void HistogramMatching::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h new file mode 100644 index 0000000..efdcef4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerHistogramMatching_h_INCLUDED__ +#define __bbSlicerHistogramMatching_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT HistogramMatching + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( HistogramMatching , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( numberOfHistogramLevels , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( thresholdAtMeanIntensity , bool ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( HistogramMatching , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "HistogramMatching" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Normalizes the grayscale values of a source image based on the grayscale values of a reference image. This filter uses a histogram matching technique where the histograms of the two images are matched only at a specified number of quantile values.The filter was orginally designed to normalize MR images of the sameMR protocol and same body part. The algorithm works best if background pixels are excluded from both the source and reference histograms. A simple background exclusion method is to exclude all pixels whose grayscale values are smaller than the mean grayscale value. ThresholdAtMeanIntensity switches on this simple background exclusion method.Number of match points governs the number of quantile values to be matched.The filter assumes that both the source and reference are of the same type and that the input and output image type have the same number of dimension and have scalar pixel types." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(HistogramMatching , numberOfHistogramLevels , "numberOfHistogramLevels" , int, ""); +BBTK_INPUT(HistogramMatching , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(HistogramMatching , thresholdAtMeanIntensity , "thresholdAtMeanIntensity" , bool, ""); +BBTK_INPUT(HistogramMatching , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(HistogramMatching , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(HistogramMatching , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( HistogramMatching ) ; +} + +#endif // __bbSlicerHistogramMatching_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx b/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx index cf71b1e..686720d 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libImageLabelCombineLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputLabelMap_A( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputLabelMap_B( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputLabelMap( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::toString( bbGetInputFirstOverwrites( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputLabelMap_A( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputLabelMap_B( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputLabelMap( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFirstOverwrites( ) ) ) ,"@@@@@"," -f ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx new file mode 100644 index 0000000..374606d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerJointRicianLMMSEImageFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, JointRicianLMMSEImageFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( JointRicianLMMSEImageFilter, bbtk::AtomicBlackBox ); + + void JointRicianLMMSEImageFilter::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libjointLMMSELib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ng" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiNumNeighbors( ) ) ) ,"@@@@@"," --ng ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void JointRicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void JointRicianLMMSEImageFilter::bbUserSetDefaultValues ( ) { + } + + void JointRicianLMMSEImageFilter::bbUserInitializeProcessing ( ) { + } + + void JointRicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h new file mode 100644 index 0000000..ace562e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ +#define __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT JointRicianLMMSEImageFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( JointRicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector ); +BBTK_DECLARE_INPUT ( iNumNeighbors , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( JointRicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "JointRicianLMMSEImageFilter" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez. University of Valladolid SPAIN. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces Rician noise or unwanted detail on a set of diffusion weighted images. For this, it filters the image in the mean squared error sense using a Rician noise model. The N closest gradient directions to the direction being processed are filtered together to improve the results: the noise-free signal is seen as an n-diemensional vector which has to be estimated with the LMMSE method from a set of corrupted measurements. To that end, the covariance matrix of the noise-free vector and the cross covariance between this signal and the noise have to be estimated, which is done taking into account the image formation process.The noise parameter is automatically estimated from a rough segmentation of the background of the image. In this area the signal is simply 0, so that Rician statistics reduce to Rayleigh and the noise power can be easily estimated from the mode of the histogram.A complete description of the algorithm may be found in:Antonio Tristan-Vega and Santiago Aja-Fernandez, DWI filtering using joint information for DTI and HARDI, Medical Image Analysis, Volume 14, Issue 2, Pages 205-218. 2010." ) ; + BBTK_CATEGORY ( "Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(JointRicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , iNumNeighbors , "iNumNeighbors" , int, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( JointRicianLMMSEImageFilter ) ; +} + +#endif // __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx b/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx index 8d6febc..3bd0ff5 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx @@ -11,12 +11,12 @@ namespace bbSlicer { int _argc =6; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libLabelMapSmoothingLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelToSmooth" ) + Mthd::Aux::toString( bbGetInputlabelToSmooth( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRMSError" ) + Mthd::Aux::toString( bbGetInputmaxRMSError( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gaussianSigma" ) + Mthd::Aux::toString( bbGetInputgaussianSigma( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelToSmooth" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelToSmooth( ) ) ) ,"@@@@@"," --labelToSmooth ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --numberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRMSError" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxRMSError( ) ) ) ,"@@@@@"," --maxRMSError ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gaussianSigma" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgaussianSigma( ) ) ) ,"@@@@@"," --gaussianSigma ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx new file mode 100644 index 0000000..98f4d66 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx @@ -0,0 +1,66 @@ +#include "bbSlicerLinearregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Linearregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Linearregistration, bbtk::AtomicBlackBox ); + + void Linearregistration::Process ( ) { + + // GENERATED + +int _argc =12; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libLinearRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLearningRate( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Linearregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Linearregistration::bbUserSetDefaultValues ( ) { + } + + void Linearregistration::bbUserInitializeProcessing ( ) { + } + + void Linearregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h new file mode 100644 index 0000000..3f1013c --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerLinearregistration_h_INCLUDED__ +#define __bbSlicerLinearregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Linearregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Linearregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , std::vector ); +BBTK_DECLARE_INPUT ( LearningRate , std::vector ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Linearregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Linearregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Linearregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(Linearregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(Linearregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(Linearregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(Linearregistration , Iterations , "Iterations" , std::vector, ""); +BBTK_INPUT(Linearregistration , LearningRate , "LearningRate" , std::vector, ""); +BBTK_INPUT(Linearregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(Linearregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(Linearregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(Linearregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(Linearregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(Linearregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Linearregistration ) ; +} + +#endif // __bbSlicerLinearregistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx index 946408f..61d0ffe 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx @@ -11,16 +11,16 @@ namespace bbSlicer { int _argc =10; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMRIBiasFieldCorrectionLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputImage" ) + Mthd::Aux::toString( bbGetInputInputImage( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputMask" ) + Mthd::Aux::toString( bbGetInputInputMask( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputImage" ) + Mthd::Aux::toString( bbGetInputOutputImage( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--algorithmType" ) + Mthd::Aux::toString( bbGetInputAlgorithmType( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkFactor" ) + Mthd::Aux::toString( bbGetInputShrinkFactor( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumNumberOfIterations" ) + Mthd::Aux::toString( bbGetInputMaximumNumberOfIterations( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfFittingLevels" ) + Mthd::Aux::toString( bbGetInputNumberOfFittingLevels( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--wienerFilterNoise" ) + Mthd::Aux::toString( bbGetInputWienerFilterNoise( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fullWidthAtHalfMaximum" ) + Mthd::Aux::toString( bbGetInputFullWidthAtHalfMaximum( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergenceThreshold" ) + Mthd::Aux::toString( bbGetInputConvergenceThreshold( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputImage( ) ) ) ,"@@@@@"," --inputImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputMask( ) ) ) ,"@@@@@"," --inputMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputImage( ) ) ) ,"@@@@@"," --outputImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--algorithmType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputAlgorithmType( ) ) ) ,"@@@@@"," --algorithmType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputShrinkFactor( ) ) ) ,"@@@@@"," --shrinkFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumNumberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumNumberOfIterations( ) ) ) ,"@@@@@"," --maximumNumberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfFittingLevels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfFittingLevels( ) ) ) ,"@@@@@"," --numberOfFittingLevels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--wienerFilterNoise" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputWienerFilterNoise( ) ) ) ,"@@@@@"," --wienerFilterNoise ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fullWidthAtHalfMaximum" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFullWidthAtHalfMaximum( ) ) ) ,"@@@@@"," --fullWidthAtHalfMaximum ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergenceThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConvergenceThreshold( ) ) ) ,"@@@@@"," --convergenceThreshold ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h index 7b491ff..10533e1 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h +++ b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h @@ -49,8 +49,8 @@ BBTK_DECLARE_INPUT ( ConvergenceThreshold , double ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MRIBiasFieldCorrection , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "MRIBiasFieldCorrection" ) ; - BBTK_AUTHOR ( "Sylvain Jaume (MIT)" ) ; - BBTK_DESCRIPTION ( "Corrects 3D MRI images corrupted by MRI gain field effect. This module removes the slow-varying intensity variation from a 3D image. The output image has a higher contrast locally and the visualization and reading of the image are improved. This is an important pre-processinbg step for image operations requiring intensity perfect images, such as the Expectation Maximization segmentation (see EMSegment module). The N3 and N4 methods are described in N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, Tustison N., Gee J., Insight Journal, 2009. http://hdl.handle.net/10380/3053 The Slicer code was contributed by Sylvain Jaume (MIT) for NA-MIC (http://na-mic.org)." ) ; + BBTK_AUTHOR ( "Sylvain Jaume MIT" ) ; + BBTK_DESCRIPTION ( "Corrects 3D MRI images corrupted by MRI gain field effect. This module removes the slow-varying intensity variation from a 3D image. The output image has a higher contrast locally and the visualization and reading of the image are improved. This is an important pre-processinbg step for image operations requiring intensity perfect images, such as the Expectation Maximization segmentation see EMSegment module. The N3 and N4 methods are described in N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, Tustison N., Gee J., Insight Journal, 2009. http://hdl.handle.net/10380/3053 The Slicer code was contributed by Sylvain Jaume MIT for NA-MIC http://na-mic.org." ) ; BBTK_CATEGORY ( "Legacy.Filtering" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx index e657ec1..1df060b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx @@ -11,11 +11,11 @@ namespace bbSlicer { int _argc =5; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMaskLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMaskVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::toString( bbGetInputLabel( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::toString( bbGetInputReplace( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaskVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabel( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputReplace( ) ) ) ,"@@@@@"," -r ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h index 1dbe285..73f9b29 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h +++ b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h @@ -44,7 +44,7 @@ BBTK_DECLARE_INPUT ( Replace , int ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MaskImage , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "MaskImage" ) ; - BBTK_AUTHOR ( "Nicole Aucoin, BWH (Ron Kikinis, BWH)" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; BBTK_DESCRIPTION ( "Masks two images. The output image is set to 0 everywhere except where the chosen label from the mask volume is present, at which point it will retain it's original values. Although all image types are supported on input, only signed types are produced. The two images do not have to have the same dimensions." ) ; BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; diff --git a/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx new file mode 100644 index 0000000..80f8a20 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerMedianFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MedianFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MedianFilter, bbtk::AtomicBlackBox ); + + void MedianFilter::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMedianImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhood" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhood( ) ) ) ,"@@@@@"," --neighborhood ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MedianFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MedianFilter::bbUserSetDefaultValues ( ) { + } + + void MedianFilter::bbUserInitializeProcessing ( ) { + } + + void MedianFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h new file mode 100644 index 0000000..3518df1 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerMedianFilter_h_INCLUDED__ +#define __bbSlicerMedianFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MedianFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MedianFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( neighborhood , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MedianFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MedianFilter" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "The MedianImageFilter is commonly used as a robust approach for noise reduction. This filter is particularly efficient against 'salt-and-pepper' noise. In other words, it is robust to the presence of gray-level outliers. MedianImageFilter computes the value of each output pixel as the statistical median of the neighborhood of values around the corresponding input pixel." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MedianFilter , neighborhood , "neighborhood" , std::vector, ""); +BBTK_INPUT(MedianFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(MedianFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MedianFilter ) ; +} + +#endif // __bbSlicerMedianFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx index fec4de3..94312c1 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMergeModelsLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputModel1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputModel2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputModelOutput( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModel1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModel2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelOutput( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h index 2ff5f2d..085777e 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h +++ b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h @@ -42,7 +42,7 @@ BBTK_DECLARE_INPUT ( ModelOutput , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MergeModels , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "MergeModels" ) ; - BBTK_AUTHOR ( "Nicole Aucoin BWH (Ron Kikinis, BWH), Daniel Haehn" ) ; + BBTK_AUTHOR ( "Nicole Aucoin BWH Ron Kikinis, BWH, Daniel Haehn" ) ; BBTK_DESCRIPTION ( "Merge the polydata from two input models and output a new model with the added polydata. Uses the vtkAppendPolyData filter. Works on .vtp and .vtk surface files." ) ; BBTK_CATEGORY ( "Surface Models" ) ; diff --git a/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx new file mode 100644 index 0000000..bdb8ba9 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx @@ -0,0 +1,64 @@ +#include "bbSlicerMeshContourSegmentation.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MeshContourSegmentation ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MeshContourSegmentation, bbtk::AtomicBlackBox ); + + void MeshContourSegmentation::Process ( ) { + + // GENERATED + +int _argc =10; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libSparseFieldLevelSetContourLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputScene" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputSurface( ) ) ) ,"@@@@@"," --inputScene ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputContourSeedPts( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputModel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputModel( ) ) ) ,"@@@@@"," --outputModel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--evolve_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputevolve_its( ) ) ) ,"@@@@@"," --evolve_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mesh_smooth_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmesh_smooth_its( ) ) ) ,"@@@@@"," --mesh_smooth_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--H_smooth_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputH_smooth_its( ) ) ) ,"@@@@@"," --H_smooth_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--adj_levels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputadj_levels( ) ) ) ,"@@@@@"," --adj_levels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--showLS" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshowLS( ) ) ) ,"@@@@@"," --showLS ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rightHandMesh" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrightHandMesh( ) ) ) ,"@@@@@"," --rightHandMesh ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--is_test" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputis_test( ) ) ) ,"@@@@@"," --is_test ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MeshContourSegmentation::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MeshContourSegmentation::bbUserSetDefaultValues ( ) { + } + + void MeshContourSegmentation::bbUserInitializeProcessing ( ) { + } + + void MeshContourSegmentation::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h new file mode 100644 index 0000000..0f9cdf4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h @@ -0,0 +1,76 @@ +#ifndef __bbSlicerMeshContourSegmentation_h_INCLUDED__ +#define __bbSlicerMeshContourSegmentation_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MeshContourSegmentation + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MeshContourSegmentation , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputSurface , std::string ); +BBTK_DECLARE_INPUT ( ContourSeedPts , std::vector > ); +BBTK_DECLARE_INPUT ( OutputModel , std::string ); +BBTK_DECLARE_INPUT ( evolve_its , int ); +BBTK_DECLARE_INPUT ( mesh_smooth_its , int ); +BBTK_DECLARE_INPUT ( H_smooth_its , int ); +BBTK_DECLARE_INPUT ( adj_levels , int ); +BBTK_DECLARE_INPUT ( showLS , bool ); +BBTK_DECLARE_INPUT ( rightHandMesh , bool ); +BBTK_DECLARE_INPUT ( is_test , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MeshContourSegmentation , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MeshContourSegmentation" ) ; + BBTK_AUTHOR ( "Peter Karasev, pkarasev@gatech.edu, Allen Tannenbaum, tannenba@ece.gatech.edu" ) ; + BBTK_DESCRIPTION ( "Sparse-Field Levelset Mesh Segmentation. Given some initial points in polydata will construct a contour and evolve it to high mean-curvature areas, returning the interior region indices.Once the output surface has been loaded into Slicer, go to the Models module, Model Display pane, and set the Scalar Visibility Flag, select the LevelSetValue as the active scalar array, and pick the FreeSurfer RedGreen Scalar Color Map. The InitialCurvature and SmoothedCurvature may appear if the path finding failed. An example calling convention from the commandline for this module:--inputScene C:/.../bin/Release/LSVTKOut1.vtk' -c '1.5,1.5,0' -c '-1.5,1.5,0' -c '-1.5,-1.5,0' -c '1.5,-1.5,0' --outputFilename 'tempOut.vtk'This gives it an initial geometry in the vtk file, four seed points in x,y,z coordinates, and where to write the output.The resulting output contains a colormap that defines interior/exterior of the surface as determined by evolving the curve into high mean curvature areas." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MeshContourSegmentation , InputSurface , "InputSurface" , std::string, ""); +BBTK_INPUT(MeshContourSegmentation , ContourSeedPts , "ContourSeedPts" , std::vector >, ""); +BBTK_INPUT(MeshContourSegmentation , OutputModel , "OutputModel" , std::string, ""); +BBTK_INPUT(MeshContourSegmentation , evolve_its , "evolve_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , mesh_smooth_its , "mesh_smooth_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , H_smooth_its , "H_smooth_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , adj_levels , "adj_levels" , int, ""); +BBTK_INPUT(MeshContourSegmentation , showLS , "showLS" , bool, ""); +BBTK_INPUT(MeshContourSegmentation , rightHandMesh , "rightHandMesh" , bool, ""); +BBTK_INPUT(MeshContourSegmentation , is_test , "is_test" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MeshContourSegmentation ) ; +} + +#endif // __bbSlicerMeshContourSegmentation_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx new file mode 100644 index 0000000..2f7737c --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx @@ -0,0 +1,72 @@ +#include "bbSlicerModelMaker.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ModelMaker ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ModelMaker, bbtk::AtomicBlackBox ); + + void ModelMaker::Process ( ) { + + // GENERATED + +int _argc =18; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libModelMakerLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modelSceneFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelSceneFile( ) ) ) ,"@@@@@"," --modelSceneFile ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputName( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--generateAll" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputGenerateAll( ) ) ) ,"@@@@@"," --generateAll ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabels( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputStartLabel( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputEndLabel( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skipUnNamed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkipUnNamed( ) ) ) ,"@@@@@"," --skipUnNamed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-j" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputJointSmoothing( ) ) ) ,"@@@@@"," -j ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smooth" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSmooth( ) ) ) ,"@@@@@"," --smooth ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--filtertype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFilterType( ) ) ) ,"@@@@@"," --filtertype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--decimate" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDecimate( ) ) ) ,"@@@@@"," --decimate ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splitnormals" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSplitNormals( ) ) ) ,"@@@@@"," --splitnormals ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointnormals" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPointNormals( ) ) ) ,"@@@@@"," --pointnormals ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pad" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPad( ) ) ) ,"@@@@@"," --pad ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveIntermediateModels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSaveIntermediateModels( ) ) ) ,"@@@@@"," --saveIntermediateModels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebug( ) ) ) ,"@@@@@"," -d ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ModelMaker::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ModelMaker::bbUserSetDefaultValues ( ) { + } + + void ModelMaker::bbUserInitializeProcessing ( ) { + } + + void ModelMaker::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerModelMaker.h b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.h new file mode 100644 index 0000000..05045b3 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.h @@ -0,0 +1,92 @@ +#ifndef __bbSlicerModelMaker_h_INCLUDED__ +#define __bbSlicerModelMaker_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ModelMaker + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ModelMaker , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( ColorTable , std::string ); +BBTK_DECLARE_INPUT ( ModelSceneFile , std::string ); +BBTK_DECLARE_INPUT ( Name , std::string ); +BBTK_DECLARE_INPUT ( GenerateAll , bool ); +BBTK_DECLARE_INPUT ( Labels , std::vector ); +BBTK_DECLARE_INPUT ( StartLabel , int ); +BBTK_DECLARE_INPUT ( EndLabel , int ); +BBTK_DECLARE_INPUT ( SkipUnNamed , bool ); +BBTK_DECLARE_INPUT ( JointSmoothing , bool ); +BBTK_DECLARE_INPUT ( Smooth , int ); +BBTK_DECLARE_INPUT ( FilterType , std::string ); +BBTK_DECLARE_INPUT ( Decimate , float ); +BBTK_DECLARE_INPUT ( SplitNormals , bool ); +BBTK_DECLARE_INPUT ( PointNormals , bool ); +BBTK_DECLARE_INPUT ( Pad , bool ); +BBTK_DECLARE_INPUT ( SaveIntermediateModels , bool ); +BBTK_DECLARE_INPUT ( debug , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ModelMaker , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ModelMaker" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH, Bill Lorensen GE" ) ; + BBTK_DESCRIPTION ( "Create 3D surface models from segmented data. pModels are imported into Slicer under a model hierarchy node in a MRML scene. The model colors are set by the color table associated with the input volume these colours will only be visible if you load the model scene file. /ppbCreate Multiple:/b/pp If you specify a list of Labels, it will over ride any start/end label settings. /pp If you click iGenerate All/i it will over ride the list of lables and any start/end label settings. /ppbModel Maker Settings:/b/pp You can set the number of smoothing iterations, target reduction in number of polygons decimal percentage. Use 0 and 1 if you wish no smoothing nor decimation. brYou can set the flags to split normals or generate point normals in this pane as well. brYou can save a copy of the models after intermediate steps marching cubes, smoothing, and decimation if not joint smoothing, otherwise just after decimation; these models are not saved in the mrml file, turn off deleting temporary files first in the python window: brislicer.modules.modelmaker.cliModuleLogic.DeleteTemporaryFilesOff/i/p" ) ; + BBTK_CATEGORY ( "Surface Models" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ModelMaker , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ModelMaker , ColorTable , "ColorTable" , std::string, ""); +BBTK_INPUT(ModelMaker , ModelSceneFile , "ModelSceneFile" , std::string, ""); +BBTK_INPUT(ModelMaker , Name , "Name" , std::string, ""); +BBTK_INPUT(ModelMaker , GenerateAll , "GenerateAll" , bool, ""); +BBTK_INPUT(ModelMaker , Labels , "Labels" , std::vector, ""); +BBTK_INPUT(ModelMaker , StartLabel , "StartLabel" , int, ""); +BBTK_INPUT(ModelMaker , EndLabel , "EndLabel" , int, ""); +BBTK_INPUT(ModelMaker , SkipUnNamed , "SkipUnNamed" , bool, ""); +BBTK_INPUT(ModelMaker , JointSmoothing , "JointSmoothing" , bool, ""); +BBTK_INPUT(ModelMaker , Smooth , "Smooth" , int, ""); +BBTK_INPUT(ModelMaker , FilterType , "FilterType" , std::string, ""); +BBTK_INPUT(ModelMaker , Decimate , "Decimate" , float, ""); +BBTK_INPUT(ModelMaker , SplitNormals , "SplitNormals" , bool, ""); +BBTK_INPUT(ModelMaker , PointNormals , "PointNormals" , bool, ""); +BBTK_INPUT(ModelMaker , Pad , "Pad" , bool, ""); +BBTK_INPUT(ModelMaker , SaveIntermediateModels , "SaveIntermediateModels" , bool, ""); +BBTK_INPUT(ModelMaker , debug , "debug" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ModelMaker ) ; +} + +#endif // __bbSlicerModelMaker_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx new file mode 100644 index 0000000..4eb9c42 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerMultiplemodelsexample.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Multiplemodelsexample ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Multiplemodelsexample, bbtk::AtomicBlackBox ); + + void Multiplemodelsexample::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMultipleModelsExampleLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfModels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfModels( ) ) ) ,"@@@@@"," --numberOfModels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--models" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModels( ) ) ) ,"@@@@@"," --models ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Multiplemodelsexample::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Multiplemodelsexample::bbUserSetDefaultValues ( ) { + } + + void Multiplemodelsexample::bbUserInitializeProcessing ( ) { + } + + void Multiplemodelsexample::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h new file mode 100644 index 0000000..5b663ce --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerMultiplemodelsexample_h_INCLUDED__ +#define __bbSlicerMultiplemodelsexample_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Multiplemodelsexample + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Multiplemodelsexample , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( ColorTable , std::string ); +BBTK_DECLARE_INPUT ( NumberOfModels , int ); +BBTK_DECLARE_INPUT ( Models , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Multiplemodelsexample , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Multiplemodelsexample" ) ; + BBTK_AUTHOR ( "Nicole Aucoin" ) ; + BBTK_DESCRIPTION ( "Create 3D surface models from segmented data.This example exports colors and imports a set of models automatically.If specify a list of Labels, it will over ride any start/end label settings." ) ; + BBTK_CATEGORY ( "Developer Tools" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Multiplemodelsexample , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(Multiplemodelsexample , ColorTable , "ColorTable" , std::string, ""); +BBTK_INPUT(Multiplemodelsexample , NumberOfModels , "NumberOfModels" , int, ""); +BBTK_INPUT(Multiplemodelsexample , Models , "Models" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Multiplemodelsexample ) ; +} + +#endif // __bbSlicerMultiplemodelsexample_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx index d7afe4c..2e2414d 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMultiplyLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::toString( bbGetInputorder( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx new file mode 100644 index 0000000..5cf847e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx @@ -0,0 +1,66 @@ +#include "bbSlicerN4ITKMRIBiascorrection.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, N4ITKMRIBiascorrection ) + BBTK_BLACK_BOX_IMPLEMENTATION ( N4ITKMRIBiascorrection, bbtk::AtomicBlackBox ); + + void N4ITKMRIBiascorrection::Process ( ) { + + // GENERATED + +int _argc =12; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libN4ITKBiasFieldCorrectionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputImageName( ) ) ) ,"@@@@@"," --inputimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskImageName( ) ) ) ,"@@@@@"," --maskimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageName( ) ) ) ,"@@@@@"," --outputimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputbiasfield" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputBiasFieldName( ) ) ) ,"@@@@@"," --outputbiasfield ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergencethreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconvergenceThreshold( ) ) ) ,"@@@@@"," --convergencethreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--meshresolution" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialMeshResolution( ) ) ) ,"@@@@@"," --meshresolution ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splinedistance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineDistance( ) ) ) ,"@@@@@"," --splinedistance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshrinkFactor( ) ) ) ,"@@@@@"," --shrinkfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineorder" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineOrder( ) ) ) ,"@@@@@"," --bsplineorder ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--weightimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputweightImageName( ) ) ) ,"@@@@@"," --weightimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--histogramsharpening" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramSharpening( ) ) ) ,"@@@@@"," --histogramsharpening ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void N4ITKMRIBiascorrection::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void N4ITKMRIBiascorrection::bbUserSetDefaultValues ( ) { + } + + void N4ITKMRIBiascorrection::bbUserInitializeProcessing ( ) { + } + + void N4ITKMRIBiascorrection::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h new file mode 100644 index 0000000..288c385 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ +#define __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT N4ITKMRIBiascorrection + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputImageName , std::string ); +BBTK_DECLARE_INPUT ( maskImageName , std::string ); +BBTK_DECLARE_INPUT ( outputImageName , std::string ); +BBTK_DECLARE_INPUT ( outputBiasFieldName , std::string ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( convergenceThreshold , float ); +BBTK_DECLARE_INPUT ( initialMeshResolution , std::vector ); +BBTK_DECLARE_INPUT ( splineDistance , float ); +BBTK_DECLARE_INPUT ( shrinkFactor , int ); +BBTK_DECLARE_INPUT ( bsplineOrder , int ); +BBTK_DECLARE_INPUT ( weightImageName , std::string ); +BBTK_DECLARE_INPUT ( histogramSharpening , std::vector ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "N4ITKMRIBiascorrection" ) ; + BBTK_AUTHOR ( "Nick Tustison algorithm and ITK implementation, Andrey Fedorov Slicer wrapping, Ron Kikinis PI" ) ; + BBTK_DESCRIPTION ( "Performs MRI bias correction using N4 algorithm. This module is based on the ITK filters contributed in the following publication: Tustison N, Gee J 'N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction', The Insight Journal 2009 January-June, http://hdl.handle.net/10380/3053" ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(N4ITKMRIBiascorrection , inputImageName , "inputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , maskImageName , "maskImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputImageName , "outputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputBiasFieldName , "outputBiasFieldName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , convergenceThreshold , "convergenceThreshold" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , initialMeshResolution , "initialMeshResolution" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , splineDistance , "splineDistance" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , shrinkFactor , "shrinkFactor" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , bsplineOrder , "bsplineOrder" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , weightImageName , "weightImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , histogramSharpening , "histogramSharpening" , std::vector, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection ) ; +} + +#endif // __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx index ad000d5..defb112 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOrientImageLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::toString( bbGetInputorientation( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorientation( ) ) ) ,"@@@@@"," -o ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h index aa56ba3..4c6becd 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h +++ b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h @@ -43,7 +43,7 @@ BBTK_DECLARE_INPUT ( orientation , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OrientImages , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "OrientImages" ) ; BBTK_AUTHOR ( "Bill Lorensen" ) ; - BBTK_DESCRIPTION ( "Orients an output volume. Rearranges the slices in a volume according to the selected orientation. The slices are not interpolated. They are just reordered and/or permuted. The resulting volume will cover the original volume. NOTE: since Slicer takes into account the orientation of a volume, the re-oriented volume will not show any difference from the original volume, To see the difference, save the volume and display it with a system that either ignores the orientation of the image (e.g. Paraview) or displays individual images." ) ; + BBTK_DESCRIPTION ( "Orients an output volume. Rearranges the slices in a volume according to the selected orientation. The slices are not interpolated. They are just reordered and/or permuted. The resulting volume will cover the original volume. NOTE: since Slicer takes into account the orientation of a volume, the re-oriented volume will not show any difference from the original volume, To see the difference, save the volume and display it with a system that either ignores the orientation of the image e.g. Paraview or displays individual images." ) ; BBTK_CATEGORY ( "Converters" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx new file mode 100644 index 0000000..1dfb42b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerOtsuThreshold.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, OtsuThreshold ) + BBTK_BLACK_BOX_IMPLEMENTATION ( OtsuThreshold, bbtk::AtomicBlackBox ); + + void OtsuThreshold::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOtsuThresholdImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--insideValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinsideValue( ) ) ) ,"@@@@@"," --insideValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outsideValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutsideValue( ) ) ) ,"@@@@@"," --outsideValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ) ,"@@@@@"," --numberOfBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void OtsuThreshold::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void OtsuThreshold::bbUserSetDefaultValues ( ) { + } + + void OtsuThreshold::bbUserInitializeProcessing ( ) { + } + + void OtsuThreshold::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h new file mode 100644 index 0000000..d179f2d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerOtsuThreshold_h_INCLUDED__ +#define __bbSlicerOtsuThreshold_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT OtsuThreshold + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( OtsuThreshold , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( insideValue , int ); +BBTK_DECLARE_INPUT ( outsideValue , int ); +BBTK_DECLARE_INPUT ( numberOfBins , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OtsuThreshold , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "OtsuThreshold" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "This filter creates a binary thresholded image that separates an image into foreground and background components. The filter calculates the optimum threshold separating those two classes so that their combined spread intra-class variance is minimal see http://en.wikipedia.org/wiki/Otsu%27s_method. Then the filter applies that threshold to the input image using the itkBinaryThresholdImageFilter. The numberOfHistogram bins can be set for the Otsu Calculator. The insideValue and outsideValue can be set for the BinaryThresholdImageFilter. The filter produces a labeled volume.The original reference is: N.Otsu, ‘‘A threshold selection method from gray level histograms,’’ IEEE Trans.Syst.ManCybern.SMC-9,62–66 1979." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(OtsuThreshold , insideValue , "insideValue" , int, ""); +BBTK_INPUT(OtsuThreshold , outsideValue , "outsideValue" , int, ""); +BBTK_INPUT(OtsuThreshold , numberOfBins , "numberOfBins" , int, ""); +BBTK_INPUT(OtsuThreshold , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(OtsuThreshold , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( OtsuThreshold ) ; +} + +#endif // __bbSlicerOtsuThreshold_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx index 7b0ad99..7be627b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx @@ -11,12 +11,12 @@ namespace bbSlicer { int _argc =6; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOtsuThresholdSegmentationLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--brightObjects" ) + Mthd::Aux::toString( bbGetInputbrightObjects( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--faceConnected" ) + Mthd::Aux::toString( bbGetInputfaceConnected( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumObjectSize" ) + Mthd::Aux::toString( bbGetInputminimumObjectSize( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--brightObjects" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbrightObjects( ) ) ) ,"@@@@@"," --brightObjects ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ) ,"@@@@@"," --numberOfBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--faceConnected" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfaceConnected( ) ) ) ,"@@@@@"," --faceConnected ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumObjectSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumObjectSize( ) ) ) ,"@@@@@"," --minimumObjectSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h index f05b8f9..f96db1b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h @@ -46,7 +46,7 @@ BBTK_DECLARE_INPUT ( outputVolume , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OtsuThresholdSegmentation , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "OtsuThresholdSegmentation" ) ; BBTK_AUTHOR ( "Bill Lorensen" ) ; - BBTK_DESCRIPTION ( "This filter creates a labeled image from a grayscale image. First, it calculates an optimal threshold that separates the image into foreground and background. This threshold separates those two classes so that their intra-class variance is minimal (see http://en.wikipedia.org/wiki/Otsu%27s_method). Then the filter runs a connected component algorithm to generate unique labels for each connected region of the foreground. Finally, the resulting image is relabeled to provide consecutive numbering." ) ; + BBTK_DESCRIPTION ( "This filter creates a labeled image from a grayscale image. First, it calculates an optimal threshold that separates the image into foreground and background. This threshold separates those two classes so that their intra-class variance is minimal see http://en.wikipedia.org/wiki/Otsu%27s_method. Then the filter runs a connected component algorithm to generate unique labels for each connected region of the foreground. Finally, the resulting image is relabeled to provide consecutive numbering." ) ; BBTK_CATEGORY ( "Legacy.Segmentation" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx b/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx index c5d57d7..bc2f2aa 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libPolyDataToLabelmapLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--distance" ) + Mthd::Aux::toString( bbGetInputsampleDistance( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputsurface( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--distance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsampleDistance( ) ) ) ,"@@@@@"," --distance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsurface( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx new file mode 100644 index 0000000..1584f25 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx @@ -0,0 +1,80 @@ +#include "bbSlicerResampleDTIVolume.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleDTIVolume ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleDTIVolume, bbtk::AtomicBlackBox ); + + void ResampleDTIVolume::Process ( ) { + + // GENERATED + +int _argc =26; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libResampleDTILib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-R" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@"," -R ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformationFile( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-H" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeffield( ) ) ) ,"@@@@@"," -H ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hfieldtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtypeOfField( ) ) ) ,"@@@@@"," --hfieldtype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationType( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--correction" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcorrection( ) ) ) ,"@@@@@"," --correction ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-T" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputppd( ) ) ) ,"@@@@@"," -T ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform_order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformsOrder( ) ) ) ,"@@@@@"," --transform_order ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--notbulk" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnotbulk( ) ) ) ,"@@@@@"," --notbulk ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--spaceChange" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputspace( ) ) ) ,"@@@@@"," --spaceChange ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrotationPoint( ) ) ) ,"@@@@@"," -r ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcenteredTransform( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image_center" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimageCenter( ) ) ) ,"@@@@@"," --image_center ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinverseITKTransformation( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageSpacing( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-z" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageSize( ) ) ) ,"@@@@@"," -z ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageOrigin( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdirectionMatrix( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThread( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdefaultPixelValue( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-W" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwindowFunction( ) ) ) ,"@@@@@"," -W ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineOrder( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformMatrix( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," -t ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleDTIVolume::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleDTIVolume::bbUserSetDefaultValues ( ) { + } + + void ResampleDTIVolume::bbUserInitializeProcessing ( ) { + } + + void ResampleDTIVolume::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h new file mode 100644 index 0000000..0c7f48f --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h @@ -0,0 +1,108 @@ +#ifndef __bbSlicerResampleDTIVolume_h_INCLUDED__ +#define __bbSlicerResampleDTIVolume_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleDTIVolume + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleDTIVolume , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( transformationFile , std::string ); +BBTK_DECLARE_INPUT ( deffield , std::string ); +BBTK_DECLARE_INPUT ( typeOfField , std::string ); +BBTK_DECLARE_INPUT ( interpolationType , std::string ); +BBTK_DECLARE_INPUT ( correction , std::string ); +BBTK_DECLARE_INPUT ( ppd , std::string ); +BBTK_DECLARE_INPUT ( transformsOrder , std::string ); +BBTK_DECLARE_INPUT ( notbulk , bool ); +BBTK_DECLARE_INPUT ( space , bool ); +BBTK_DECLARE_INPUT ( rotationPoint , std::vector ); +BBTK_DECLARE_INPUT ( centeredTransform , bool ); +BBTK_DECLARE_INPUT ( imageCenter , std::string ); +BBTK_DECLARE_INPUT ( inverseITKTransformation , bool ); +BBTK_DECLARE_INPUT ( outputImageSpacing , std::vector ); +BBTK_DECLARE_INPUT ( outputImageSize , std::vector ); +BBTK_DECLARE_INPUT ( outputImageOrigin , std::vector ); +BBTK_DECLARE_INPUT ( directionMatrix , std::vector ); +BBTK_DECLARE_INPUT ( numberOfThread , int ); +BBTK_DECLARE_INPUT ( defaultPixelValue , double ); +BBTK_DECLARE_INPUT ( windowFunction , std::string ); +BBTK_DECLARE_INPUT ( splineOrder , int ); +BBTK_DECLARE_INPUT ( transformMatrix , std::vector ); +BBTK_DECLARE_INPUT ( transformType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleDTIVolume , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleDTIVolume" ) ; + BBTK_AUTHOR ( "Francois Budin" ) ; + BBTK_DESCRIPTION ( "Resampling an image is a very important task in image analysis. It is especially important in the frame of image registration. This module implements DT image resampling through the use of itk Transforms. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions." ) ; + BBTK_CATEGORY ( "Diffusion.Utilities" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleDTIVolume , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , transformationFile , "transformationFile" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , deffield , "deffield" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , typeOfField , "typeOfField" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , interpolationType , "interpolationType" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , correction , "correction" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , ppd , "ppd" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , transformsOrder , "transformsOrder" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , notbulk , "notbulk" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , space , "space" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , rotationPoint , "rotationPoint" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , centeredTransform , "centeredTransform" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , imageCenter , "imageCenter" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , inverseITKTransformation , "inverseITKTransformation" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageSpacing , "outputImageSpacing" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageSize , "outputImageSize" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageOrigin , "outputImageOrigin" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , directionMatrix , "directionMatrix" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , numberOfThread , "numberOfThread" , int, ""); +BBTK_INPUT(ResampleDTIVolume , defaultPixelValue , "defaultPixelValue" , double, ""); +BBTK_INPUT(ResampleDTIVolume , windowFunction , "windowFunction" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , splineOrder , "splineOrder" , int, ""); +BBTK_INPUT(ResampleDTIVolume , transformMatrix , "transformMatrix" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , transformType , "transformType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleDTIVolume ) ; +} + +#endif // __bbSlicerResampleDTIVolume_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx new file mode 100644 index 0000000..40b2238 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerResampleImageBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleImageBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleImageBRAINS, bbtk::AtomicBlackBox ); + + void ResampleImageBRAINS::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSResampleLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@"," --inputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--referenceVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@"," --referenceVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpixelType( ) ) ) ,"@@@@@"," --pixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--deformationVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeformationVolume( ) ) ) ,"@@@@@"," --deformationVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--warpTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwarpTransform( ) ) ) ,"@@@@@"," --warpTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inverseTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinverseTransform( ) ) ) ,"@@@@@"," --inverseTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defaultValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdefaultValue( ) ) ) ,"@@@@@"," --defaultValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gridSpacing" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSpacing( ) ) ) ,"@@@@@"," --gridSpacing ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleImageBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleImageBRAINS::bbUserSetDefaultValues ( ) { + } + + void ResampleImageBRAINS::bbUserInitializeProcessing ( ) { + } + + void ResampleImageBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h new file mode 100644 index 0000000..536d0a8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerResampleImageBRAINS_h_INCLUDED__ +#define __bbSlicerResampleImageBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleImageBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleImageBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( pixelType , std::string ); +BBTK_DECLARE_INPUT ( deformationVolume , std::string ); +BBTK_DECLARE_INPUT ( warpTransform , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( inverseTransform , bool ); +BBTK_DECLARE_INPUT ( defaultValue , float ); +BBTK_DECLARE_INPUT ( gridSpacing , std::vector ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleImageBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleImageBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Vincent Magnotta, Greg Harris, and Hans Johnson." ) ; + BBTK_DESCRIPTION ( "This program resamples an image image using a deformation field or a transform BSpline, Affine, Rigid, etc.." ) ; + BBTK_CATEGORY ( "Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleImageBRAINS , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , pixelType , "pixelType" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , deformationVolume , "deformationVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , warpTransform , "warpTransform" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , inverseTransform , "inverseTransform" , bool, ""); +BBTK_INPUT(ResampleImageBRAINS , defaultValue , "defaultValue" , float, ""); +BBTK_INPUT(ResampleImageBRAINS , gridSpacing , "gridSpacing" , std::vector, ""); +BBTK_INPUT(ResampleImageBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleImageBRAINS ) ; +} + +#endif // __bbSlicerResampleImageBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx new file mode 100644 index 0000000..69a8256 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerResampleScalarVolume.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleScalarVolume ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleScalarVolume, bbtk::AtomicBlackBox ); + + void ResampleScalarVolume::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libResampleVolumeLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelSpacing( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationType( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleScalarVolume::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleScalarVolume::bbUserSetDefaultValues ( ) { + } + + void ResampleScalarVolume::bbUserInitializeProcessing ( ) { + } + + void ResampleScalarVolume::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h new file mode 100644 index 0000000..a7ba623 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerResampleScalarVolume_h_INCLUDED__ +#define __bbSlicerResampleScalarVolume_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleScalarVolume + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( outputPixelSpacing , std::vector ); +BBTK_DECLARE_INPUT ( interpolationType , std::string ); +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleScalarVolume" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Resampling an image is an important task in image analysis. It is especially important in the frame of image registration. This module implements image resampling through the use of itk Transforms. This module uses an Identity Transform. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions. Several interpolators are available: linear, nearest neighbor, bspline and five flavors of sinc. The sinc interpolators, although more precise, are much slower than the linear and nearest neighbor interpolator. To resample label volumnes, nearest neighbor interpolation should be used exclusively." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleScalarVolume , outputPixelSpacing , "outputPixelSpacing" , std::vector, ""); +BBTK_INPUT(ResampleScalarVolume , interpolationType , "interpolationType" , std::string, ""); +BBTK_INPUT(ResampleScalarVolume , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ResampleScalarVolume , OutputVolume , "OutputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleScalarVolume ) ; +} + +#endif // __bbSlicerResampleScalarVolume_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx new file mode 100644 index 0000000..0635dd4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerRicianLMMSEImageFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RicianLMMSEImageFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RicianLMMSEImageFilter, bbtk::AtomicBlackBox ); + + void RicianLMMSEImageFilter::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libdwiNoiseFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiIterations( ) ) ) ,"@@@@@"," --iter ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnvf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsF( ) ) ) ,"@@@@@"," --mnvf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnve" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsE( ) ) ) ,"@@@@@"," --mnve ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMinSTD( ) ) ) ,"@@@@@"," --minnstd ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMaxSTD( ) ) ) ,"@@@@@"," --maxnstd ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hrf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdResFact( ) ) ) ,"@@@@@"," --hrf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--uav" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbUseAbsoluteValue( ) ) ) ,"@@@@@"," --uav ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RicianLMMSEImageFilter::bbUserSetDefaultValues ( ) { + } + + void RicianLMMSEImageFilter::bbUserInitializeProcessing ( ) { + } + + void RicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h new file mode 100644 index 0000000..b734698 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ +#define __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RicianLMMSEImageFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iIterations , int ); +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector ); +BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsF , int ); +BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsE , int ); +BBTK_DECLARE_INPUT ( dMinSTD , int ); +BBTK_DECLARE_INPUT ( dMaxSTD , int ); +BBTK_DECLARE_INPUT ( dResFact , double ); +BBTK_DECLARE_INPUT ( bUseAbsoluteValue , bool ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RicianLMMSEImageFilter" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez and Marc Niethammer. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces noise or unwanted detail on a set of diffusion weighted images. For this, it filters the image in the mean squared error sense using a Rician noise model. Images corresponding to each gradient direction, including baseline, are processed individually. The noise parameter is automatically estimated noise estimation improved but slower.Note that this is a general purpose filter for MRi images. The module jointLMMSE has been specifically designed for DWI volumes and shows a better performance, so its use is recommended instead.A complete description of the algorithm in this module can be found in:S. Aja-Fernandez, M. Niethammer, M. Kubicki, M. Shenton, and C.-F. Westin. Restoration of DWI data using a Rician LMMSE estimator. IEEE Transactions on Medical Imaging, 2710: pp. 1389-1403, Oct. 2008." ) ; + BBTK_CATEGORY ( "Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RicianLMMSEImageFilter , iIterations , "iIterations" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsF , "iMinimumNumberOfUsedVoxelsF" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsE , "iMinimumNumberOfUsedVoxelsE" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dMinSTD , "dMinSTD" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dMaxSTD , "dMaxSTD" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dResFact , "dResFact" , double, ""); +BBTK_INPUT(RicianLMMSEImageFilter , bUseAbsoluteValue , "bUseAbsoluteValue" , bool, ""); +BBTK_INPUT(RicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(RicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter ) ; +} + +#endif // __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx new file mode 100644 index 0000000..eec8b2d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerRobustMultiresolutionAffineRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RobustMultiresolutionAffineRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RobustMultiresolutionAffineRegistration, bbtk::AtomicBlackBox ); + + void RobustMultiresolutionAffineRegistration::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRegisterImagesMultiResModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputresampledImage( ) ) ) ,"@@@@@"," --resampledImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageMask( ) ) ) ,"@@@@@"," --fixedImageMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageROI( ) ) ) ,"@@@@@"," --fixedImageROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumIterations( ) ) ) ,"@@@@@"," --numIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numLineIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumLineIterations( ) ) ) ,"@@@@@"," --numLineIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--stepSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstepSize( ) ) ) ,"@@@@@"," --stepSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--stepTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstepTolerance( ) ) ) ,"@@@@@"," --stepTolerance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--metricTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmetricTolerance( ) ) ) ,"@@@@@"," --metricTolerance ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RobustMultiresolutionAffineRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RobustMultiresolutionAffineRegistration::bbUserSetDefaultValues ( ) { + } + + void RobustMultiresolutionAffineRegistration::bbUserInitializeProcessing ( ) { + } + + void RobustMultiresolutionAffineRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h new file mode 100644 index 0000000..e71228a --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ +#define __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RobustMultiresolutionAffineRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RobustMultiresolutionAffineRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedImage , std::string ); +BBTK_DECLARE_INPUT ( movingImage , std::string ); +BBTK_DECLARE_INPUT ( resampledImage , std::string ); +BBTK_DECLARE_INPUT ( outputTransform , std::string ); +BBTK_DECLARE_INPUT ( fixedImageMask , std::string ); +BBTK_DECLARE_INPUT ( fixedImageROI , std::vector ); +BBTK_DECLARE_INPUT ( numIterations , int ); +BBTK_DECLARE_INPUT ( numLineIterations , int ); +BBTK_DECLARE_INPUT ( stepSize , float ); +BBTK_DECLARE_INPUT ( stepTolerance , float ); +BBTK_DECLARE_INPUT ( metricTolerance , float ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RobustMultiresolutionAffineRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RobustMultiresolutionAffineRegistration" ) ; + BBTK_AUTHOR ( "Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Provides affine registration using multiple resolution levels and decomposed affine transforms." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImage , "fixedImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , movingImage , "movingImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , resampledImage , "resampledImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , outputTransform , "outputTransform" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImageMask , "fixedImageMask" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImageROI , "fixedImageROI" , std::vector, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , numIterations , "numIterations" , int, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , numLineIterations , "numLineIterations" , int, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , stepSize , "stepSize" , float, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , stepTolerance , "stepTolerance" , float, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , metricTolerance , "metricTolerance" , float, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RobustMultiresolutionAffineRegistration ) ; +} + +#endif // __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx b/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx index 9c4da33..8d0ea03 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx @@ -11,14 +11,14 @@ namespace bbSlicer { int _argc =8; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRobustStatSegmenterLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::toString( bbGetInputexpectedVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--intensityHomogeneity" ) + Mthd::Aux::toString( bbGetInputintensityHomogeneity( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::toString( bbGetInputcurvatureWeight( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelValue" ) + Mthd::Aux::toString( bbGetInputlabelValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRunningTime" ) + Mthd::Aux::toString( bbGetInputmaxRunningTime( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoriginalImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputlabelImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputsegmentedImageFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedVolume( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--intensityHomogeneity" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputintensityHomogeneity( ) ) ) ,"@@@@@"," --intensityHomogeneity ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcurvatureWeight( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelValue( ) ) ) ,"@@@@@"," --labelValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRunningTime" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxRunningTime( ) ) ) ,"@@@@@"," --maxRunningTime ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoriginalImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsegmentedImageFileName( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx b/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx index 11b5ec4..ff6badd 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx @@ -11,8 +11,8 @@ namespace bbSlicer { int _argc =2; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libDiffusionTensorTestLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx new file mode 100644 index 0000000..0c272a2 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx @@ -0,0 +1,63 @@ +#include "bbSlicerSimpleregiongrowing.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Simpleregiongrowing ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Simpleregiongrowing, bbtk::AtomicBlackBox ); + + void Simpleregiongrowing::Process ( ) { + + // GENERATED + +int _argc =9; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libConfidenceConnectedLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smoothingIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingIterations( ) ) ) ,"@@@@@"," --smoothingIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timestep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimestep( ) ) ) ,"@@@@@"," --timestep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--multiplier" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmultiplier( ) ) ) ,"@@@@@"," --multiplier ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhood" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhood( ) ) ) ,"@@@@@"," --neighborhood ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelvalue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelvalue( ) ) ) ,"@@@@@"," --labelvalue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseed( ) ) ) ,"@@@@@"," --seed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Simpleregiongrowing::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Simpleregiongrowing::bbUserSetDefaultValues ( ) { + } + + void Simpleregiongrowing::bbUserInitializeProcessing ( ) { + } + + void Simpleregiongrowing::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h new file mode 100644 index 0000000..ba02e16 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h @@ -0,0 +1,74 @@ +#ifndef __bbSlicerSimpleregiongrowing_h_INCLUDED__ +#define __bbSlicerSimpleregiongrowing_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Simpleregiongrowing + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Simpleregiongrowing , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( smoothingIterations , int ); +BBTK_DECLARE_INPUT ( timestep , double ); +BBTK_DECLARE_INPUT ( iterations , int ); +BBTK_DECLARE_INPUT ( multiplier , double ); +BBTK_DECLARE_INPUT ( neighborhood , int ); +BBTK_DECLARE_INPUT ( labelvalue , int ); +BBTK_DECLARE_INPUT ( seed , std::vector > ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Simpleregiongrowing , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Simpleregiongrowing" ) ; + BBTK_AUTHOR ( "Jim Miller" ) ; + BBTK_DESCRIPTION ( "A simple region growing segmentation algorithm based on intensity statistics. To create a list of fiducials Seeds for this algorithm, click on the tool bar icon of an arrow pointing to a starburst fiducial to enter the 'place a new object mode' and then use the fiducials module. This module uses the Slicer Command Line Interface CLI and the ITK filters CurvatureFlowImageFilter and ConfidenceConnectedImageFilter." ) ; + BBTK_CATEGORY ( "Segmentation" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Simpleregiongrowing , smoothingIterations , "smoothingIterations" , int, ""); +BBTK_INPUT(Simpleregiongrowing , timestep , "timestep" , double, ""); +BBTK_INPUT(Simpleregiongrowing , iterations , "iterations" , int, ""); +BBTK_INPUT(Simpleregiongrowing , multiplier , "multiplier" , double, ""); +BBTK_INPUT(Simpleregiongrowing , neighborhood , "neighborhood" , int, ""); +BBTK_INPUT(Simpleregiongrowing , labelvalue , "labelvalue" , int, ""); +BBTK_INPUT(Simpleregiongrowing , seed , "seed" , std::vector >, ""); +BBTK_INPUT(Simpleregiongrowing , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(Simpleregiongrowing , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Simpleregiongrowing ) ; +} + +#endif // __bbSlicerSimpleregiongrowing_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx index 61efd45..8373771 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libSubtractLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::toString( bbGetInputorder( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx index b9a81fe..2878e28 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libTestGridTransformRegistrationLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::toString( bbGetInputgridSize( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx index 611ce07..2525df8 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx @@ -11,13 +11,13 @@ namespace bbSlicer { int _argc =7; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libThresholdLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::toString( bbGetInputThresholdValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::toString( bbGetInputLower( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-u" ) + Mthd::Aux::toString( bbGetInputUpper( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::toString( bbGetInputOutsideValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdtype" ) + Mthd::Aux::toString( bbGetInputThresholdType( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputThresholdValue( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLower( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-u" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUpper( ) ) ) ,"@@@@@"," -u ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutsideValue( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputThresholdType( ) ) ) ,"@@@@@"," --thresholdtype ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h index 622007f..8170aa5 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h +++ b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h @@ -46,8 +46,8 @@ BBTK_DECLARE_INPUT ( ThresholdType , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ThresholdImage , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "ThresholdImage" ) ; - BBTK_AUTHOR ( "Nicole Aucoin, BWH (Ron Kikinis, BWH)" ) ; - BBTK_DESCRIPTION ( "

Threshold an image.

Set image values to a user-specified outside value if they are below, above, or between simple threshold values.

ThresholdAbove: The values greater than or equal to the threshold value are set to OutsideValue.

ThresholdBelow: The values less than or equal to the threshold value are set to OutsideValue.

ThresholdOutside: The values outside the range Lower-Upper are set to OutsideValue.

Although all image types are supported on input, only signed types are produced.

" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "pThreshold an image./ppSet image values to a user-specified outside value if they are below, above, or between simple threshold values./ppThresholdAbove: The values greater than or equal to the threshold value are set to OutsideValue./ppThresholdBelow: The values less than or equal to the threshold value are set to OutsideValue./ppThresholdOutside: The values outside the range Lower-Upper are set to OutsideValue./ppAlthough all image types are supported on input, only signed types are produced./pp" ) ; BBTK_CATEGORY ( "Filtering" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx b/bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx new file mode 100644 index 0000000..0aefec5 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx @@ -0,0 +1,61 @@ +#include "bbSlicerUnbiasedNonLocalMeansfilterforDWI.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, UnbiasedNonLocalMeansfilterforDWI ) + BBTK_BLACK_BOX_IMPLEMENTATION ( UnbiasedNonLocalMeansfilterforDWI, bbtk::AtomicBlackBox ); + + void UnbiasedNonLocalMeansfilterforDWI::Process ( ) { + + // GENERATED + +int _argc =7; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libdwiUNLMLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rs" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusSearch( ) ) ) ,"@@@@@"," --rs ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rc" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusComp( ) ) ) ,"@@@@@"," --rc ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hp" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiH( ) ) ) ,"@@@@@"," --hp ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ng" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiNumNeighbors( ) ) ) ,"@@@@@"," --ng ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void UnbiasedNonLocalMeansfilterforDWI::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void UnbiasedNonLocalMeansfilterforDWI::bbUserSetDefaultValues ( ) { + } + + void UnbiasedNonLocalMeansfilterforDWI::bbUserInitializeProcessing ( ) { + } + + void UnbiasedNonLocalMeansfilterforDWI::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h b/bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h new file mode 100644 index 0000000..29ca6a8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h @@ -0,0 +1,70 @@ +#ifndef __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__ +#define __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT UnbiasedNonLocalMeansfilterforDWI + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( UnbiasedNonLocalMeansfilterforDWI , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iRadiusSearch , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusComp , std::vector ); +BBTK_DECLARE_INPUT ( iH , float ); +BBTK_DECLARE_INPUT ( iNumNeighbors , int ); +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( UnbiasedNonLocalMeansfilterforDWI , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "UnbiasedNonLocalMeansfilterforDWI" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez. University of Valladolid SPAIN. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces noise or unwanted detail on a set of diffusion weighted images. For this, it filters the images using a Unbiased Non Local Means for Rician noise algorithm. It exploits not only the spatial redundancy, but the redundancy in similar gradient directions as well; it takes into account the N closest gradient directions to the direction being processed a maximum of 5 gradient directions is allowed to keep a reasonable computational load, since we do not use neither similarity maps nor block-wise implementation.The noise parameter is automatically estimated in the same way as in the jointLMMSE module.A complete description of the algorithm may be found in:Antonio Tristan-Vega and Santiago Aja-Fernandez, DWI filtering using joint information for DTI and HARDI, Medical Image Analysis, Volume 14, Issue 2, Pages 205-218. 2010.Please, note that the execution of this filter is extremely slow, son only very conservative parameters block size and search size as small as possible should be used. Even so, its execution may take several hours. The advantage of this filter over joint LMMSE is its better preservation of edges and fine structures." ) ; + BBTK_CATEGORY ( "Legacy.Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusSearch , "iRadiusSearch" , std::vector, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusComp , "iRadiusComp" , std::vector, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iH , "iH" , float, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iNumNeighbors , "iNumNeighbors" , int, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(UnbiasedNonLocalMeansfilterforDWI , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( UnbiasedNonLocalMeansfilterforDWI ) ; +} + +#endif // __bbSlicerUnbiasedNonLocalMeansfilterforDWI_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.cxx new file mode 100644 index 0000000..83c45ee --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.cxx @@ -0,0 +1,95 @@ +#include "bbSlicerVectorDemonRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, VectorDemonRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( VectorDemonRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void VectorDemonRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =41; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libVBRAINSDemonWarpLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputPixelType( ) ) ) ,"@@@@@"," --inputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldVolume( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelType( ) ) ) ,"@@@@@"," --outputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registrationFilterType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistrationFilterType( ) ) ) ,"@@@@@"," --registrationFilterType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothDisplacementFieldSigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfPyramidLevels( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumFixedPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumFixedPyramid( ) ) ) ,"@@@@@"," --minimumFixedPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumMovingPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumMovingPyramid( ) ) ) ,"@@@@@"," --minimumMovingPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarrayOfPyramidLevelIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithDisplacementField" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithDisplacementField( ) ) ) ,"@@@@@"," --initializeWithDisplacementField ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithTransform( ) ) ) ,"@@@@@"," --initializeWithTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--makeBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmakeBOBF( ) ) ) ,"@@@@@"," --makeBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--lowerThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlowerThresholdForBOBF( ) ) ) ,"@@@@@"," --lowerThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--upperThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputupperThresholdForBOBF( ) ) ) ,"@@@@@"," --upperThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seedForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseedForBOBF( ) ) ) ,"@@@@@"," --seedForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhoodForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhoodForBOBF( ) ) ) ,"@@@@@"," --neighborhoodForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDisplacementFieldPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldPrefix( ) ) ) ,"@@@@@"," --outputDisplacementFieldPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputCheckerboardVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputCheckerboardVolume( ) ) ) ,"@@@@@"," --outputCheckerboardVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerboardPatternSubdivisions" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerboardPatternSubdivisions( ) ) ) ,"@@@@@"," --checkerboardPatternSubdivisions ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputNormalized" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputNormalized( ) ) ) ,"@@@@@"," --outputNormalized ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDebug( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-w" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputweightFactors( ) ) ) ,"@@@@@"," -w ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgradientType( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingUp( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxStepLength( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-a" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputturnOffDiffeomorph( ) ) ) ,"@@@@@"," -a ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBCHApproximationTerms" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBCHApproximationTerms( ) ) ) ,"@@@@@"," --numberOfBCHApproximationTerms ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void VectorDemonRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void VectorDemonRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void VectorDemonRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void VectorDemonRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.h new file mode 100644 index 0000000..0a2bb9b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.h @@ -0,0 +1,138 @@ +#ifndef __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT VectorDemonRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( VectorDemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( movingVolume , std::vector ); +BBTK_DECLARE_INPUT ( fixedVolume , std::vector ); +BBTK_DECLARE_INPUT ( inputPixelType , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldVolume , std::string ); +BBTK_DECLARE_INPUT ( outputPixelType , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( registrationFilterType , std::string ); +BBTK_DECLARE_INPUT ( smoothDisplacementFieldSigma , double ); +BBTK_DECLARE_INPUT ( numberOfPyramidLevels , int ); +BBTK_DECLARE_INPUT ( minimumFixedPyramid , std::vector ); +BBTK_DECLARE_INPUT ( minimumMovingPyramid , std::vector ); +BBTK_DECLARE_INPUT ( arrayOfPyramidLevelIterations , std::vector ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( initializeWithDisplacementField , std::string ); +BBTK_DECLARE_INPUT ( initializeWithTransform , std::string ); +BBTK_DECLARE_INPUT ( makeBOBF , bool ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( lowerThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( upperThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( backgroundFillValue , int ); +BBTK_DECLARE_INPUT ( seedForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( neighborhoodForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldPrefix , std::string ); +BBTK_DECLARE_INPUT ( outputCheckerboardVolume , std::string ); +BBTK_DECLARE_INPUT ( checkerboardPatternSubdivisions , std::vector ); +BBTK_DECLARE_INPUT ( outputNormalized , bool ); +BBTK_DECLARE_INPUT ( outputDebug , bool ); +BBTK_DECLARE_INPUT ( weightFactors , std::vector ); +BBTK_DECLARE_INPUT ( gradientType , int ); +BBTK_DECLARE_INPUT ( smoothingUp , double ); +BBTK_DECLARE_INPUT ( maxStepLength , double ); +BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( VectorDemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "VectorDemonRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ; + BBTK_DESCRIPTION ( "This program finds a deformation field to warp a moving image onto a fixed image. The images must be of the same signal kind, and contain an image of the same kind of object. This program uses the Thirion Demons warp software in ITK, the Insight Toolkit. Additional information is available at: http://www.nitrc.org/projects/brainsdemonwarp." ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(VectorDemonRegistrationBRAINS , movingVolume , "movingVolume" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , makeBOBF , "makeBOBF" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , weightFactors , "weightFactors" , std::vector, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , gradientType , "gradientType" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, ""); +BBTK_INPUT(VectorDemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( VectorDemonRegistrationBRAINS ) ; +} + +#endif // __bbSlicerVectorDemonRegistrationBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.cxx b/bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.cxx new file mode 100644 index 0000000..d3fe3b1 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerVotingBinaryHoleFilling.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, VotingBinaryHoleFilling ) + BBTK_BLACK_BOX_IMPLEMENTATION ( VotingBinaryHoleFilling, bbtk::AtomicBlackBox ); + + void VotingBinaryHoleFilling::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libVotingBinaryHoleFillingImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--radius" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputradius( ) ) ) ,"@@@@@"," --radius ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--majorityThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmajorityThreshold( ) ) ) ,"@@@@@"," --majorityThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--background" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackground( ) ) ) ,"@@@@@"," --background ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--foreground" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputforeground( ) ) ) ,"@@@@@"," --foreground ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void VotingBinaryHoleFilling::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void VotingBinaryHoleFilling::bbUserSetDefaultValues ( ) { + } + + void VotingBinaryHoleFilling::bbUserInitializeProcessing ( ) { + } + + void VotingBinaryHoleFilling::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.h b/bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.h new file mode 100644 index 0000000..d03fa19 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ +#define __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT VotingBinaryHoleFilling + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( VotingBinaryHoleFilling , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( radius , std::vector ); +BBTK_DECLARE_INPUT ( majorityThreshold , int ); +BBTK_DECLARE_INPUT ( background , int ); +BBTK_DECLARE_INPUT ( foreground , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( VotingBinaryHoleFilling , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "VotingBinaryHoleFilling" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Applies a voting operation in order to fill-in cavities. This can be used for smoothing contours and for filling holes in binary images. This technique is used frequently when segmenting complete organs that may have ducts or vasculature that may not have been included in the initial segmentation, e.g. lungs, kidneys, liver." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(VotingBinaryHoleFilling , radius , "radius" , std::vector, ""); +BBTK_INPUT(VotingBinaryHoleFilling , majorityThreshold , "majorityThreshold" , int, ""); +BBTK_INPUT(VotingBinaryHoleFilling , background , "background" , int, ""); +BBTK_INPUT(VotingBinaryHoleFilling , foreground , "foreground" , int, ""); +BBTK_INPUT(VotingBinaryHoleFilling , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(VotingBinaryHoleFilling , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( VotingBinaryHoleFilling ) ; +} + +#endif // __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ + + -- 2.47.1

7Mn)|r@ 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 Niiy`E1gDyf{x6b#AwU2C literal 0 HcmV?d00001 diff --git a/ModuleCall/dist/Release/GNU-Linux-x86/modulecall b/ModuleCall/dist/Release/GNU-Linux-x86/modulecall new file mode 100755 index 0000000000000000000000000000000000000000..00bee6da2459456b9be6c8ac09f13bee093b7f1e GIT binary patch literal 204079 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