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/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 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 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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]+)([">]) + +#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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�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 H8}t7FN1%<_ literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake b/ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake new file mode 100644 index 0000000..0b97120 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake @@ -0,0 +1,14 @@ +# 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/CreationTool.cxx" "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + "/home/riveros/NetBeansProjects/ModuleCall/main.cpp" "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o" + ) +SET(CMAKE_CXX_COMPILER_ID "GNU") + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/build.make b/ModuleCall/CMakeFiles/interoperating_Baby.dir/build.make new file mode 100644 index 0000000..179f0c4 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/build.make @@ -0,0 +1,129 @@ +# 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/interoperating_Baby.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/interoperating_Baby.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/interoperating_Baby.dir/flags.make + +CMakeFiles/interoperating_Baby.dir/main.cpp.o: CMakeFiles/interoperating_Baby.dir/flags.make +CMakeFiles/interoperating_Baby.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/interoperating_Baby.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/interoperating_Baby.dir/main.cpp.o -c /home/riveros/NetBeansProjects/ModuleCall/main.cpp + +CMakeFiles/interoperating_Baby.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/interoperating_Baby.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/riveros/NetBeansProjects/ModuleCall/main.cpp > 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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 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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 S>DOUHaQ%!E;(=whU;hXEZ;rwM literal 0 HcmV?d00001 diff --git a/ModuleCall/build/Debug/GNU-Linux-x86/main.o.d b/ModuleCall/build/Debug/GNU-Linux-x86/main.o.d new file mode 100644 index 0000000..fd85132 --- /dev/null +++ b/ModuleCall/build/Debug/GNU-Linux-x86/main.o.d @@ -0,0 +1 @@ +build/Debug/GNU-Linux-x86/main.o: main.cpp diff --git a/ModuleCall/build/Release/GNU-Linux-x86/main.o b/ModuleCall/build/Release/GNU-Linux-x86/main.o new file mode 100644 index 0000000000000000000000000000000000000000..d5d61cf2f5fb4c9a003a42a2e09c7d1904242a31 GIT binary patch literal 7328 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 E1?~%N9{>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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ⅅX6UX7Jy`@9s@$y19Bh^p(k_JC5q-hp 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ⅅX6UX7Jy`@9s@$y19Bh^p(k_JC5q-hp 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 z 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 D^P?&DB<+$l{gp~?~< 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

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.45.0

e$zzgs;!S(Ba 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 TN=tat5@w=W_V7Bs>23c998U58 literal 220128 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 E|C3X1VgLXD 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 ( "