From e7b4e2c9254e9e431f74acc92e3f0d40fc5e7ef6 Mon Sep 17 00:00:00 2001 From: riveros Date: Thu, 19 Apr 2012 17:30:58 +0200 Subject: [PATCH] All Slicer modules succesfully compiled into BBTK boxes :P --- ModuleCall/CMakeFiles/CMakeCCompiler.cmake | 49 + ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake | 50 + .../CMakeDetermineCompilerABI_C.bin | Bin 0 -> 8413 bytes .../CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 8426 bytes .../CMakeDirectoryInformation.cmake | 56 + ModuleCall/CMakeFiles/CMakeError.log | 84 + ModuleCall/CMakeFiles/CMakeOutput.log | 5004 +++++++++++++++++ ModuleCall/CMakeFiles/CMakeSystem.cmake | 15 + .../CMakeFiles/CompilerIdC/CMakeCCompilerId.c | 232 + ModuleCall/CMakeFiles/CompilerIdC/a.out | Bin 0 -> 8472 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 215 + ModuleCall/CMakeFiles/CompilerIdCXX/a.out | Bin 0 -> 8476 bytes ModuleCall/CMakeFiles/Makefile.cmake | 57 + ModuleCall/CMakeFiles/Makefile2 | 99 + ModuleCall/CMakeFiles/TargetDirectories.txt | 1 + .../CMakeFiles/Tutorial.dir/CXX.includecache | 16 + .../CMakeFiles/Tutorial.dir/DependInfo.cmake | 26 + ModuleCall/CMakeFiles/Tutorial.dir/build.make | 102 + .../CMakeFiles/Tutorial.dir/cmake_clean.cmake | 10 + .../CMakeFiles/Tutorial.dir/depend.internal | 5 + .../CMakeFiles/Tutorial.dir/depend.make | 5 + ModuleCall/CMakeFiles/Tutorial.dir/flags.make | 8 + ModuleCall/CMakeFiles/Tutorial.dir/link.txt | 1 + .../CMakeFiles/Tutorial.dir/progress.make | 2 + ModuleCall/CMakeFiles/cmake.check_cache | 1 + .../interoperating_Baby.dir/CXX.includecache | 114 + .../CreationTool.cxx.o | Bin 0 -> 399064 bytes .../interoperating_Baby.dir/DependInfo.cmake | 14 + .../interoperating_Baby.dir/build.make | 129 + .../interoperating_Baby.dir/cmake_clean.cmake | 11 + .../interoperating_Baby.dir/depend.internal | 18 + .../interoperating_Baby.dir/depend.make | 18 + .../interoperating_Baby.dir/flags.make | 8 + .../interoperating_Baby.dir/link.txt | 1 + .../interoperating_Baby.dir/main.cpp.o | Bin 0 -> 353184 bytes .../interoperating_Baby.dir/progress.make | 3 + ModuleCall/CMakeFiles/progress.marks | 1 + ModuleCall/CreationTool.cxx | 445 +- ModuleCall/CreationTool.h | 32 +- ModuleCall/GenSrc/bbSlicerACPCTransform.cxx | 58 + ModuleCall/GenSrc/bbSlicerACPCTransform.h | 64 + ModuleCall/GenSrc/bbSlicerAddImages.cxx | 58 + ModuleCall/GenSrc/bbSlicerAddImages.h | 64 + .../bbSlicerBSplinetodeformationfield.cxx | 57 + .../bbSlicerBSplinetodeformationfield.h | 62 + ModuleCall/GenSrc/bbSlicerCastImage.cxx | 57 + ModuleCall/GenSrc/bbSlicerCastImage.h | 62 + .../GenSrc/bbSlicerCheckerBoardFilter.cxx | 58 + .../GenSrc/bbSlicerCheckerBoardFilter.h | 64 + .../GenSrc/bbSlicerCommandLineModuleTest.cxx | 58 + .../GenSrc/bbSlicerCommandLineModuleTest.h | 64 + .../GenSrc/bbSlicerCreateaDICOMSeries.cxx | 74 + .../GenSrc/bbSlicerCreateaDICOMSeries.h | 96 + .../bbSlicerCurvatureAnisotropicDiffusion.cxx | 59 + .../bbSlicerCurvatureAnisotropicDiffusion.h | 66 + .../bbSlicerDemonRegistrationBRAINS.cxx | 94 + .../GenSrc/bbSlicerDemonRegistrationBRAINS.h | 136 + .../GenSrc/bbSlicerDicomtoNrrdConverter.cxx | 61 + .../GenSrc/bbSlicerDicomtoNrrdConverter.h | 70 + .../GenSrc/bbSlicerExecutionModelTour.cxx | 82 + .../GenSrc/bbSlicerExecutionModelTour.h | 112 + .../bbSlicerExpertAutomatedRegistration.cxx | 82 + .../bbSlicerExpertAutomatedRegistration.h | 112 + ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx | 60 + ModuleCall/GenSrc/bbSlicerExtractSkeleton.h | 68 + .../GenSrc/bbSlicerFastAffineregistration.cxx | 65 + .../GenSrc/bbSlicerFastAffineregistration.h | 78 + ...bSlicerFastNonrigidBSplineregistration.cxx | 67 + .../bbSlicerFastNonrigidBSplineregistration.h | 82 + .../GenSrc/bbSlicerFastRigidregistration.cxx | 67 + .../GenSrc/bbSlicerFastRigidregistration.h | 82 + .../GenSrc/bbSlicerFiducialRegistration.cxx | 58 + .../GenSrc/bbSlicerFiducialRegistration.h | 64 + .../bbSlicerForegroundmaskingBRAINS.cxx | 63 + .../GenSrc/bbSlicerForegroundmaskingBRAINS.h | 74 + ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx | 57 + ModuleCall/GenSrc/bbSlicerGaussianBlur.h | 62 + .../bbSlicerGeneralRegistrationBRAINS.cxx | 114 + .../bbSlicerGeneralRegistrationBRAINS.h | 176 + .../bbSlicerGradientAnisotropicDiffusion.cxx | 59 + .../bbSlicerGradientAnisotropicDiffusion.h | 66 + .../GenSrc/bbSlicerGrayscaleFillHole.cxx | 56 + ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h | 60 + .../GenSrc/bbSlicerGrayscaleGrindPeak.cxx | 56 + .../GenSrc/bbSlicerGrayscaleGrindPeak.h | 60 + .../GenSrc/bbSlicerHistogramMatching.cxx | 60 + ModuleCall/GenSrc/bbSlicerHistogramMatching.h | 68 + .../GenSrc/bbSlicerImageLabelCombine.cxx | 58 + ModuleCall/GenSrc/bbSlicerImageLabelCombine.h | 64 + .../bbSlicerJointRicianLMMSEImageFilter.cxx | 59 + .../bbSlicerJointRicianLMMSEImageFilter.h | 66 + .../GenSrc/bbSlicerLabelMapSmoothing.cxx | 60 + ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h | 68 + .../GenSrc/bbSlicerLinearregistration.cxx | 66 + .../GenSrc/bbSlicerLinearregistration.h | 80 + .../GenSrc/bbSlicerMRIBiasFieldCorrection.cxx | 64 + .../GenSrc/bbSlicerMRIBiasFieldCorrection.h | 76 + ModuleCall/GenSrc/bbSlicerMaskImage.cxx | 59 + ModuleCall/GenSrc/bbSlicerMaskImage.h | 66 + ModuleCall/GenSrc/bbSlicerMedianFilter.cxx | 57 + ModuleCall/GenSrc/bbSlicerMedianFilter.h | 62 + ModuleCall/GenSrc/bbSlicerMergeModels.cxx | 57 + ModuleCall/GenSrc/bbSlicerMergeModels.h | 62 + .../bbSlicerMeshContourSegmentation.cxx | 64 + .../GenSrc/bbSlicerMeshContourSegmentation.h | 76 + ModuleCall/GenSrc/bbSlicerModelMaker.cxx | 72 + ModuleCall/GenSrc/bbSlicerModelMaker.h | 92 + .../GenSrc/bbSlicerMultiplemodelsexample.cxx | 58 + .../GenSrc/bbSlicerMultiplemodelsexample.h | 64 + ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx | 58 + ModuleCall/GenSrc/bbSlicerMultiplyImages.h | 64 + .../GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx | 66 + .../GenSrc/bbSlicerN4ITKMRIBiascorrection.h | 80 + ModuleCall/GenSrc/bbSlicerOrientImages.cxx | 57 + ModuleCall/GenSrc/bbSlicerOrientImages.h | 62 + ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx | 59 + ModuleCall/GenSrc/bbSlicerOtsuThreshold.h | 66 + .../bbSlicerOtsuThresholdSegmentation.cxx | 60 + .../bbSlicerOtsuThresholdSegmentation.h | 68 + .../GenSrc/bbSlicerPolyDataToLabelMap.cxx | 58 + .../GenSrc/bbSlicerPolyDataToLabelMap.h | 64 + .../GenSrc/bbSlicerResampleDTIVolume.cxx | 80 + ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h | 108 + .../GenSrc/bbSlicerResampleImageBRAINS.cxx | 65 + .../GenSrc/bbSlicerResampleImageBRAINS.h | 78 + .../GenSrc/bbSlicerResampleScalarVolume.cxx | 58 + .../GenSrc/bbSlicerResampleScalarVolume.h | 64 + .../GenSrc/bbSlicerRicianLMMSEImageFilter.cxx | 65 + .../GenSrc/bbSlicerRicianLMMSEImageFilter.h | 78 + ...obustMultiresolutionAffineRegistration.cxx | 65 + ...rRobustMultiresolutionAffineRegistration.h | 78 + .../bbSlicerRobustStatisticsSegmentation.cxx | 62 + .../bbSlicerRobustStatisticsSegmentation.h | 72 + ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx | 56 + ModuleCall/GenSrc/bbSlicerSimpleIOTest.h | 60 + .../GenSrc/bbSlicerSimpleregiongrowing.cxx | 63 + .../GenSrc/bbSlicerSimpleregiongrowing.h | 74 + ModuleCall/GenSrc/bbSlicerSubtractImages.cxx | 58 + ModuleCall/GenSrc/bbSlicerSubtractImages.h | 64 + .../bbSlicerTestGridTransformregistration.cxx | 58 + .../bbSlicerTestGridTransformregistration.h | 64 + ModuleCall/GenSrc/bbSlicerThresholdImage.cxx | 61 + ModuleCall/GenSrc/bbSlicerThresholdImage.h | 70 + ...licerUnbiasedNonLocalMeansfilterforDWI.cxx | 61 + ...bSlicerUnbiasedNonLocalMeansfilterforDWI.h | 70 + .../bbSlicerVectorDemonRegistrationBRAINS.cxx | 95 + .../bbSlicerVectorDemonRegistrationBRAINS.h | 138 + .../bbSlicerVotingBinaryHoleFilling.cxx | 60 + .../GenSrc/bbSlicerVotingBinaryHoleFilling.h | 68 + ModuleCall/build/Debug/GNU-Linux-x86/main.o | Bin 0 -> 47144 bytes ModuleCall/build/Debug/GNU-Linux-x86/main.o.d | 1 + ModuleCall/build/Release/GNU-Linux-x86/main.o | Bin 0 -> 7328 bytes .../build/Release/GNU-Linux-x86/main.o.d | 1 + .../dist/Debug/GNU-Linux-x86/modulecall | Bin 0 -> 204079 bytes .../dist/Release/GNU-Linux-x86/modulecall | Bin 0 -> 204079 bytes ModuleCall/interoperating_Baby | Bin 220128 -> 409857 bytes ModuleCall/main.cpp | 247 +- ModuleCall/nbproject/Makefile-Debug.mk | 89 + ModuleCall/nbproject/Makefile-Release.mk | 89 + ModuleCall/nbproject/Makefile-impl.mk | 133 + ModuleCall/nbproject/Makefile-variables.mk | 35 + ModuleCall/nbproject/Package-Debug.bash | 75 + ModuleCall/nbproject/Package-Release.bash | 75 + ModuleCall/nbproject/configurations.xml | 66 + .../nbproject/private/Makefile-variables.mk | 7 + .../nbproject/private/configurations.xml | 72 + ModuleCall/nbproject/private/private.xml | 8 + ModuleCall/nbproject/project.xml | 25 + bbtk_Slicer_PKG/src/CreationTool.cxx | 309 +- bbtk_Slicer_PKG/src/CreationTool.h | 32 +- bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx | 58 + bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h | 64 + bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx | 8 +- .../src/bbSlicerBSplinetodeformationfield.cxx | 6 +- bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx | 57 + bbtk_Slicer_PKG/src/bbSlicerCastImage.h | 62 + .../src/bbSlicerCheckerBoardFilter.cxx | 58 + .../src/bbSlicerCheckerBoardFilter.h | 64 + .../src/bbSlicerCommandLineModuleTest.cxx | 8 +- .../src/bbSlicerCreateaDICOMSeries.cxx | 40 +- .../bbSlicerCurvatureAnisotropicDiffusion.cxx | 59 + .../bbSlicerCurvatureAnisotropicDiffusion.h | 66 + .../src/bbSlicerDemonRegistrationBRAINS.cxx | 94 + .../src/bbSlicerDemonRegistrationBRAINS.h | 136 + .../src/bbSlicerDicomtoNrrdConverter.cxx | 14 +- .../src/bbSlicerExecutionModelTour.cxx | 82 + .../src/bbSlicerExecutionModelTour.h | 112 + .../bbSlicerExpertAutomatedRegistration.cxx | 82 + .../src/bbSlicerExpertAutomatedRegistration.h | 112 + .../src/bbSlicerExtractSkeleton.cxx | 12 +- .../src/bbSlicerFastAffineregistration.cxx | 65 + .../src/bbSlicerFastAffineregistration.h | 78 + ...bSlicerFastNonrigidBSplineregistration.cxx | 26 +- .../src/bbSlicerFastRigidregistration.cxx | 67 + .../src/bbSlicerFastRigidregistration.h | 82 + .../src/bbSlicerFiducialRegistration.cxx | 58 + .../src/bbSlicerFiducialRegistration.h | 64 + .../src/bbSlicerForegroundmaskingBRAINS.cxx | 63 + .../src/bbSlicerForegroundmaskingBRAINS.h | 74 + bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx | 6 +- .../src/bbSlicerGeneralRegistrationBRAINS.cxx | 114 + .../src/bbSlicerGeneralRegistrationBRAINS.h | 176 + .../bbSlicerGradientAnisotropicDiffusion.cxx | 59 + .../bbSlicerGradientAnisotropicDiffusion.h | 66 + .../src/bbSlicerGrayscaleFillHole.cxx | 56 + .../src/bbSlicerGrayscaleFillHole.h | 60 + .../src/bbSlicerGrayscaleGrindPeak.cxx | 56 + .../src/bbSlicerGrayscaleGrindPeak.h | 60 + .../src/bbSlicerHistogramMatching.cxx | 60 + .../src/bbSlicerHistogramMatching.h | 68 + .../src/bbSlicerImageLabelCombine.cxx | 8 +- .../bbSlicerJointRicianLMMSEImageFilter.cxx | 59 + .../src/bbSlicerJointRicianLMMSEImageFilter.h | 66 + .../src/bbSlicerLabelMapSmoothing.cxx | 12 +- .../src/bbSlicerLinearregistration.cxx | 66 + .../src/bbSlicerLinearregistration.h | 80 + .../src/bbSlicerMRIBiasFieldCorrection.cxx | 20 +- .../src/bbSlicerMRIBiasFieldCorrection.h | 4 +- bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx | 10 +- bbtk_Slicer_PKG/src/bbSlicerMaskImage.h | 2 +- bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx | 57 + bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h | 62 + bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx | 6 +- bbtk_Slicer_PKG/src/bbSlicerMergeModels.h | 2 +- .../src/bbSlicerMeshContourSegmentation.cxx | 64 + .../src/bbSlicerMeshContourSegmentation.h | 76 + bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx | 72 + bbtk_Slicer_PKG/src/bbSlicerModelMaker.h | 92 + .../src/bbSlicerMultiplemodelsexample.cxx | 58 + .../src/bbSlicerMultiplemodelsexample.h | 64 + .../src/bbSlicerMultiplyImages.cxx | 8 +- .../src/bbSlicerN4ITKMRIBiascorrection.cxx | 66 + .../src/bbSlicerN4ITKMRIBiascorrection.h | 80 + bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx | 6 +- bbtk_Slicer_PKG/src/bbSlicerOrientImages.h | 2 +- bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx | 59 + bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h | 66 + .../src/bbSlicerOtsuThresholdSegmentation.cxx | 12 +- .../src/bbSlicerOtsuThresholdSegmentation.h | 2 +- .../src/bbSlicerPolyDataToLabelMap.cxx | 8 +- .../src/bbSlicerResampleDTIVolume.cxx | 80 + .../src/bbSlicerResampleDTIVolume.h | 108 + .../src/bbSlicerResampleImageBRAINS.cxx | 65 + .../src/bbSlicerResampleImageBRAINS.h | 78 + .../src/bbSlicerResampleScalarVolume.cxx | 58 + .../src/bbSlicerResampleScalarVolume.h | 64 + .../src/bbSlicerRicianLMMSEImageFilter.cxx | 65 + .../src/bbSlicerRicianLMMSEImageFilter.h | 78 + ...obustMultiresolutionAffineRegistration.cxx | 65 + ...rRobustMultiresolutionAffineRegistration.h | 78 + .../bbSlicerRobustStatisticsSegmentation.cxx | 16 +- bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx | 4 +- .../src/bbSlicerSimpleregiongrowing.cxx | 63 + .../src/bbSlicerSimpleregiongrowing.h | 74 + .../src/bbSlicerSubtractImages.cxx | 8 +- .../bbSlicerTestGridTransformregistration.cxx | 8 +- .../src/bbSlicerThresholdImage.cxx | 14 +- bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h | 4 +- ...licerUnbiasedNonLocalMeansfilterforDWI.cxx | 61 + ...bSlicerUnbiasedNonLocalMeansfilterforDWI.h | 70 + .../bbSlicerVectorDemonRegistrationBRAINS.cxx | 95 + .../bbSlicerVectorDemonRegistrationBRAINS.h | 138 + .../src/bbSlicerVotingBinaryHoleFilling.cxx | 60 + .../src/bbSlicerVotingBinaryHoleFilling.h | 68 + 264 files changed, 20665 insertions(+), 291 deletions(-) create mode 100644 ModuleCall/CMakeFiles/CMakeCCompiler.cmake create mode 100644 ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake create mode 100755 ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_C.bin create mode 100755 ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin create mode 100644 ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 ModuleCall/CMakeFiles/CMakeError.log create mode 100644 ModuleCall/CMakeFiles/CMakeOutput.log create mode 100644 ModuleCall/CMakeFiles/CMakeSystem.cmake create mode 100644 ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c create mode 100755 ModuleCall/CMakeFiles/CompilerIdC/a.out create mode 100644 ModuleCall/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 ModuleCall/CMakeFiles/CompilerIdCXX/a.out create mode 100644 ModuleCall/CMakeFiles/Makefile.cmake create mode 100644 ModuleCall/CMakeFiles/Makefile2 create mode 100644 ModuleCall/CMakeFiles/TargetDirectories.txt create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/build.make create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/depend.internal create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/depend.make create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/flags.make create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/link.txt create mode 100644 ModuleCall/CMakeFiles/Tutorial.dir/progress.make create mode 100644 ModuleCall/CMakeFiles/cmake.check_cache create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/build.make create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o create mode 100644 ModuleCall/CMakeFiles/interoperating_Baby.dir/progress.make create mode 100644 ModuleCall/CMakeFiles/progress.marks create mode 100644 ModuleCall/GenSrc/bbSlicerACPCTransform.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerACPCTransform.h create mode 100644 ModuleCall/GenSrc/bbSlicerAddImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerAddImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerBSplinetodeformationfield.h create mode 100644 ModuleCall/GenSrc/bbSlicerCastImage.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCastImage.h create mode 100644 ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCheckerBoardFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCommandLineModuleTest.h create mode 100644 ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCreateaDICOMSeries.h create mode 100644 ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerCurvatureAnisotropicDiffusion.h create mode 100644 ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerDemonRegistrationBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerDicomtoNrrdConverter.h create mode 100644 ModuleCall/GenSrc/bbSlicerExecutionModelTour.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerExecutionModelTour.h create mode 100644 ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerExpertAutomatedRegistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerExtractSkeleton.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerExtractSkeleton.h create mode 100644 ModuleCall/GenSrc/bbSlicerFastAffineregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFastAffineregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFastNonrigidBSplineregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerFastRigidregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFastRigidregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerFiducialRegistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerFiducialRegistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerForegroundmaskingBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerGaussianBlur.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGaussianBlur.h create mode 100644 ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGeneralRegistrationBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGradientAnisotropicDiffusion.h create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleFillHole.h create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerGrayscaleGrindPeak.h create mode 100644 ModuleCall/GenSrc/bbSlicerHistogramMatching.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerHistogramMatching.h create mode 100644 ModuleCall/GenSrc/bbSlicerImageLabelCombine.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerImageLabelCombine.h create mode 100644 ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerJointRicianLMMSEImageFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerLabelMapSmoothing.h create mode 100644 ModuleCall/GenSrc/bbSlicerLinearregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerLinearregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMRIBiasFieldCorrection.h create mode 100644 ModuleCall/GenSrc/bbSlicerMaskImage.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMaskImage.h create mode 100644 ModuleCall/GenSrc/bbSlicerMedianFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMedianFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerMergeModels.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMergeModels.h create mode 100644 ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMeshContourSegmentation.h create mode 100644 ModuleCall/GenSrc/bbSlicerModelMaker.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerModelMaker.h create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplemodelsexample.h create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplyImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerMultiplyImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerN4ITKMRIBiascorrection.h create mode 100644 ModuleCall/GenSrc/bbSlicerOrientImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerOrientImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThreshold.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThreshold.h create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerOtsuThresholdSegmentation.h create mode 100644 ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerPolyDataToLabelMap.h create mode 100644 ModuleCall/GenSrc/bbSlicerResampleDTIVolume.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerResampleDTIVolume.h create mode 100644 ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerResampleImageBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerResampleScalarVolume.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerResampleScalarVolume.h create mode 100644 ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerRicianLMMSEImageFilter.h create mode 100644 ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerRobustMultiresolutionAffineRegistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerRobustStatisticsSegmentation.h create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleIOTest.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleIOTest.h create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerSimpleregiongrowing.h create mode 100644 ModuleCall/GenSrc/bbSlicerSubtractImages.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerSubtractImages.h create mode 100644 ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerTestGridTransformregistration.h create mode 100644 ModuleCall/GenSrc/bbSlicerThresholdImage.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerThresholdImage.h create mode 100644 ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h create mode 100644 ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerVectorDemonRegistrationBRAINS.h create mode 100644 ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.cxx create mode 100644 ModuleCall/GenSrc/bbSlicerVotingBinaryHoleFilling.h create mode 100644 ModuleCall/build/Debug/GNU-Linux-x86/main.o create mode 100644 ModuleCall/build/Debug/GNU-Linux-x86/main.o.d create mode 100644 ModuleCall/build/Release/GNU-Linux-x86/main.o create mode 100644 ModuleCall/build/Release/GNU-Linux-x86/main.o.d create mode 100755 ModuleCall/dist/Debug/GNU-Linux-x86/modulecall create mode 100755 ModuleCall/dist/Release/GNU-Linux-x86/modulecall create mode 100644 ModuleCall/nbproject/Makefile-Debug.mk create mode 100644 ModuleCall/nbproject/Makefile-Release.mk create mode 100644 ModuleCall/nbproject/Makefile-impl.mk create mode 100644 ModuleCall/nbproject/Makefile-variables.mk create mode 100644 ModuleCall/nbproject/Package-Debug.bash create mode 100644 ModuleCall/nbproject/Package-Release.bash create mode 100644 ModuleCall/nbproject/configurations.xml create mode 100644 ModuleCall/nbproject/private/Makefile-variables.mk create mode 100644 ModuleCall/nbproject/private/configurations.xml create mode 100644 ModuleCall/nbproject/private/private.xml create mode 100644 ModuleCall/nbproject/project.xml create mode 100644 bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCastImage.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerModelMaker.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerUnbiasedNonLocalMeansfilterforDWI.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVectorDemonRegistrationBRAINS.h create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.cxx create mode 100644 bbtk_Slicer_PKG/src/bbSlicerVotingBinaryHoleFilling.h diff --git a/ModuleCall/CMakeFiles/CMakeCCompiler.cmake b/ModuleCall/CMakeFiles/CMakeCCompiler.cmake new file mode 100644 index 0000000..6e7f18c --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeCCompiler.cmake @@ -0,0 +1,49 @@ +SET(CMAKE_C_COMPILER "/usr/bin/gcc") +SET(CMAKE_C_COMPILER_ARG1 "") +SET(CMAKE_C_COMPILER_ID "GNU") +SET(CMAKE_C_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCC 1) +SET(CMAKE_C_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_C_COMPILER_ENV_VAR "CC") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_C_COMPILER_ID_RUN 1) +SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) +SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +SET(CMAKE_C_SIZEOF_DATA_PTR "8") +SET(CMAKE_C_COMPILER_ABI "ELF") +SET(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +IF(CMAKE_C_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_C_SIZEOF_DATA_PTR) + +IF(CMAKE_C_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +ENDIF(CMAKE_C_COMPILER_ABI) + +IF(CMAKE_C_LIBRARY_ARCHITECTURE) + SET(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +ENDIF() + +SET(CMAKE_C_HAS_ISYSROOT "") + + +SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") +SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu") diff --git a/ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake b/ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..d1ebf4c --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeCXXCompiler.cmake @@ -0,0 +1,50 @@ +SET(CMAKE_CXX_COMPILER "/usr/bin/c++") +SET(CMAKE_CXX_COMPILER_ARG1 "") +SET(CMAKE_CXX_COMPILER_ID "GNU") +SET(CMAKE_CXX_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCXX 1) +SET(CMAKE_CXX_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_CXX_COMPILER_ID_RUN 1) +SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +SET(CMAKE_CXX_LINKER_PREFERENCE 30) +SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +SET(CMAKE_CXX_SIZEOF_DATA_PTR "8") +SET(CMAKE_CXX_COMPILER_ABI "ELF") +SET(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +IF(CMAKE_CXX_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) + +IF(CMAKE_CXX_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +ENDIF(CMAKE_CXX_COMPILER_ABI) + +IF(CMAKE_CXX_LIBRARY_ARCHITECTURE) + SET(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +ENDIF() + +SET(CMAKE_CXX_HAS_ISYSROOT "") + + +SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") +SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu") diff --git a/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..985d31fb25bea0d176f5b78a121375954fb29ef5 GIT binary patch literal 8413 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 literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/ModuleCall/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..9a4216d3e61f8aa2b8820470e41d9ee715a642f5 GIT binary patch literal 8426 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 literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake b/ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..ba160df --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,56 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/riveros/NetBeansProjects/ModuleCall") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/riveros/NetBeansProjects/ModuleCall") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/tclap/include" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review/Statistics" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/gdcm/src" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/gdcm" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/core" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/vcl" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/v3p/netlib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/core" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/vcl" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/v3p/netlib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/itkExtHdrs" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/znzlib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/niftilib" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/expat" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/expat" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/DICOMParser" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/DICOMParser" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/NrrdIO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/NrrdIO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/MetaIO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/SpatialObject" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/NeuralNetworks" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/FEM" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/IO" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Common" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/BasicFilters" + "/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Algorithms" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_ASM_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/ModuleCall/CMakeFiles/CMakeError.log b/ModuleCall/CMakeFiles/CMakeError.log new file mode 100644 index 0000000..1cee090 --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeError.log @@ -0,0 +1,84 @@ +Determining if the Q_WS_WIN exist failed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main()’: +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:25: error: ‘Q_WS_WIN’ was not declared in this scope +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o] Error 1 +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_WIN + cmakeRequireSymbol(0,&Q_WS_WIN); +#endif + return 0; +} + +Determining if the Q_WS_QWS exist failed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main()’: +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:25: error: ‘Q_WS_QWS’ was not declared in this scope +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o] Error 1 +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_QWS + cmakeRequireSymbol(0,&Q_WS_QWS); +#endif + return 0; +} + +Determining if the Q_WS_MAC exist failed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main()’: +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:25: error: ‘Q_WS_MAC’ was not declared in this scope +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o] Error 1 +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_MAC + cmakeRequireSymbol(0,&Q_WS_MAC); +#endif + return 0; +} + diff --git a/ModuleCall/CMakeFiles/CMakeOutput.log b/ModuleCall/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..122ff3b --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeOutput.log @@ -0,0 +1,5004 @@ +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the Q_WS_X11 exist passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o +/usr/bin/c++ -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + +File /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_X11 + cmakeRequireSymbol(0,&Q_WS_X11); +#endif + return 0; +} + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +The system is: Linux - 2.6.38-13-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/local/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' +/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp'] + ignore line: [/usr/local/bin/cmake -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/:/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + arg [-L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] ==> [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2] + collapse dir [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../..] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2;/usr/lib/x86_64-linux-gnu] + + diff --git a/ModuleCall/CMakeFiles/CMakeSystem.cmake b/ModuleCall/CMakeFiles/CMakeSystem.cmake new file mode 100644 index 0000000..0a0d257 --- /dev/null +++ b/ModuleCall/CMakeFiles/CMakeSystem.cmake @@ -0,0 +1,15 @@ + + +SET(CMAKE_SYSTEM "Linux-2.6.38-13-generic") +SET(CMAKE_SYSTEM_NAME "Linux") +SET(CMAKE_SYSTEM_VERSION "2.6.38-13-generic") +SET(CMAKE_SYSTEM_PROCESSOR "x86_64") + +SET(CMAKE_HOST_SYSTEM "Linux-2.6.38-13-generic") +SET(CMAKE_HOST_SYSTEM_NAME "Linux") +SET(CMAKE_HOST_SYSTEM_VERSION "2.6.38-13-generic") +SET(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + +SET(CMAKE_CROSSCOMPILING "FALSE") + +SET(CMAKE_SYSTEM_LOADED 1) diff --git a/ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..936ae30 --- /dev/null +++ b/ModuleCall/CMakeFiles/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,232 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__clang__) +# define COMPILER_ID "Clang" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMC__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMC__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI_DSP" + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +/* IAR Systems compiler for embedded systems. + http://www.iar.com + Not supported yet by CMake +#elif defined(__IAR_SYSTEMS_ICC__) +# define COMPILER_ID "IAR" */ + +/* sdcc, the small devices C compiler for embedded systems, + http://sdcc.sourceforge.net */ +#elif defined(SDCC) +# define COMPILER_ID "SDCC" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; + (void)argv; + return require; +} +#endif diff --git a/ModuleCall/CMakeFiles/CompilerIdC/a.out b/ModuleCall/CMakeFiles/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..ec7d2391546b8dbbc05c857d737d9eb725e040cc GIT binary patch literal 8472 zcmeHMU2Ggz6+W}$O*Zjw(uBB8i&wCb9H=Kw6o*ZqXr1-XY_o9^$AMBOos4(Z_O|;I z&CC|33Zm80iq(>0BpxCVg2xD6DuF_ziq;{eR(L=`P+>%c+^UgG zB8@!EYHxD$+nY{`A1ou}M=MF@VG?f37Nog0UT zQqxl}g%hAoUy2Gb{j0hJ%)RP3&c7!o(Uw{Z|Fu2}>hn`}$hj&^P5N<6tzJ8d1)qHc z8lnK@11~3KA~IGcVa3f02X zNZC7MzWsXmm-SJQ(A@Bq%cG;CN^{$HL=)7?BQLFs0-#-c<3-e=Z;@Bkrju~RnZ0s( zQutK;*1TFR&rbK=6-8>B57bAY);q7BQ_t3gnlC`}D^pVMUA4A(-%1(Vm(8g4-bEV> zwVIF3q^m}3Rz2JCek2O%v)krTRP(X9bk&aCNLSCq?x@w{v8!rjKAzrwt-JbBs(M?! z^pTvZ{$=iq3yz~c|DOHe&cETfrK=yLtG9cq|Lk@)y{T3%OX}Y1=DTX`cr2pU^0Ah5 z&4{(8Yx!6-U9)5D>DrlCr&@U}e!02rS#0V1KHm`D_^7q;W05GRl{=1o|H~NGXdJFb zoU3Y0#*Fe!>T!4M=i1OWoLx9KLy#KiJG3uTDxAvYv*vLBz_Amq>Qr90M@wd5IE_o4 zl)9N2A3g!nR{6^qi!h$s3yy=)YIebKaCV<^9Ot`YR6(qFg!IfHNE0p6)`qnajF}kU z@$caU#~Hx_-AygY7eb9|LMIy5MnJ^5uK>Wrg5y*%|H${kFRam;5`C4m-w(YgpREfG zHbva}4YKWDPpeqPDps+IRjlHFheO~Rf@ubS62u&Rhx4}qm&bDm0>8r%TS!ijeb%3(G@qN8 zzmCdtdckqqlc4errMX{jP&!We|1a=)HHcSM@S}mwooys{lk86>_eI-}jg*Uac}F@| z)Xh?Kx6-BT>WG(xa`$#O4WL-33${K2ie;Ow9OqxTqMbEQfl@5lS*3e_s>9aDC^c3r zDoDGVd zov=X}%@uQ?m?cBEbx^Y7+Nh})vf8*|-b;a!u}h`}is6bUGo~=E7jhX;#!9yM=hp4k zGh$hwWJ-lXwrB^t`BP&nofmn&^1TS(m+-v^gXb6H^E9WK&-V^|9}zqw^F0D%XMk_h z`m?D*zJFi@`FOu^+i^;4pV#*}Qn3HL-g#Xy1^~p`WIR1E6!#-vHd5SaV1MO!ppZAR) z2Kam*d6oF>+%N+37(WW|dB3?s9Y)uA9@swPXT)bS5sH5iYEW?g1o`I!e7?Wqd%cfa zKNkZ0ak4*7_Rp}R1Rg)e6!EFMyn9Z*=L_~%kUt&Z;|&fXP967g{67TvczuIVi668V zO#g}I4*Sph7vID3eJjr|=CfaK2JG`a+$>%|`sO=>`7GZG@cH{;j`+NO8O&q(Zh#-5 z`@RS{*v>=(^B6bCM{a*7@jHpn?PLV`x5$1c7a%bI3#=e;{9}pN{cPKh$I0-5UrDz7 zz(Xa=6g$qwch^XhYS&K-|$0*b>4p9hYahzIPZrH^i?_c0kfGIEw|>ZQzqcO!ki{#*Vz}#|5$*=Y9oJVK-1N><4E!#V zmgxsvuhKI8fcucNOh5FB_16f|I`^E#7#8L4`OoX-Nz%tTP7z^(>X{7Gvy%V#-GTmh zQoLvUKI(YfqMoJeZbayp;yDRmgKs_ZcM0y7 zEz9`-6D%KUg%%oj#?OWRKETHwKYmT^!sjG}xRVEfX<@e&qJjDIhOm3n;r)y87L{)g zl)p~;)`0#$R8Jz{=fVp0hePhT;CmNBye$C0dZAw?9%l4>-uDy;8Pm4x^603N0ZmH| z9U9cqsiQ-h2AbBhDD`O4mt~Z+v3zMn&uik?sOjYiz!#N#*3KHrp02Jh0cL19V**oq z!995z= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI_DSP" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + (void)argv; + return require; +} diff --git a/ModuleCall/CMakeFiles/CompilerIdCXX/a.out b/ModuleCall/CMakeFiles/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..aa7d68cce5ff0917796c0f7ab3053548d4a489f4 GIT binary patch literal 8476 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 literal 0 HcmV?d00001 diff --git a/ModuleCall/CMakeFiles/Makefile.cmake b/ModuleCall/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..ddd8170 --- /dev/null +++ b/ModuleCall/CMakeFiles/Makefile.cmake @@ -0,0 +1,57 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# The generator used is: +SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +SET(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/ITKConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/ITKLibraryDepends.cmake" + "/home/riveros/.slicer/Slicer4-bin/ITKv3-build/UseITK.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/GenerateCLP.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/GenerateCLPConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/GenerateCLPTargets.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/GenerateCLP/UseGenerateCLP.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserTargets.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/UseModuleDescriptionParser.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/tclap/TCLAPConfig.cmake" + "/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/tclap/UseTCLAP.cmake" + "CMakeFiles/CMakeCCompiler.cmake" + "CMakeFiles/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeSystem.cmake" + "CMakeLists.txt" + "/usr/local/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeImportBuildSettings.cmake" + "/usr/local/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/local/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" + "/usr/local/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" + "/usr/local/share/cmake-2.8/Modules/Compiler/GNU.cmake" + "/usr/local/share/cmake-2.8/Modules/FindITK.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/Linux.cmake" + "/usr/local/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +SET(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +SET(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +SET(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/interoperating_Baby.dir/DependInfo.cmake" + ) diff --git a/ModuleCall/CMakeFiles/Makefile2 b/ModuleCall/CMakeFiles/Makefile2 new file mode 100644 index 0000000..295c27b --- /dev/null +++ b/ModuleCall/CMakeFiles/Makefile2 @@ -0,0 +1,99 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# The main recursive all target +all: +.PHONY : all + +# The main recursive preinstall target +preinstall: +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/bin/cmake + +# The command to remove a file. +RM = /usr/local/bin/cmake -E remove -f + +# The program to use to edit the cache. +CMAKE_EDIT_COMMAND = /usr/local/bin/ccmake + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/riveros/NetBeansProjects/ModuleCall + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/riveros/NetBeansProjects/ModuleCall + +#============================================================================= +# Target rules for target CMakeFiles/interoperating_Baby.dir + +# All Build rule for target. +CMakeFiles/interoperating_Baby.dir/all: + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/depend + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles 1 2 + @echo "Built target interoperating_Baby" +.PHONY : CMakeFiles/interoperating_Baby.dir/all + +# Include target in all. +all: CMakeFiles/interoperating_Baby.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/interoperating_Baby.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/interoperating_Baby.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles 0 +.PHONY : CMakeFiles/interoperating_Baby.dir/rule + +# Convenience name for target. +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/rule +.PHONY : interoperating_Baby + +# clean rule for target. +CMakeFiles/interoperating_Baby.dir/clean: + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/clean +.PHONY : CMakeFiles/interoperating_Baby.dir/clean + +# clean rule for target. +clean: CMakeFiles/interoperating_Baby.dir/clean +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/ModuleCall/CMakeFiles/TargetDirectories.txt b/ModuleCall/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..a75c739 --- /dev/null +++ b/ModuleCall/CMakeFiles/TargetDirectories.txt @@ -0,0 +1 @@ +/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/interoperating_Baby.dir diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache b/ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache new file mode 100644 index 0000000..0ec6d03 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/CXX.includecache @@ -0,0 +1,16 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/riveros/NetBeansProjects/ModuleCall/main.cpp +cstdlib +- +dlfcn.h +- +iostream +- + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake b/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake new file mode 100644 index 0000000..5adebe9 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake @@ -0,0 +1,26 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +SET(CMAKE_DEPENDS_CHECK_CXX + "/home/riveros/NetBeansProjects/ModuleCall/main.cpp" "/home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/Tutorial.dir/main.cpp.o" + ) +SET(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "QT_NO_DEBUG" + "QT_SVG_LIB" + "QT_UITOOLS_LIB" + "QT_WEBKIT_LIB" + "QT_GUI_LIB" + "QT_TEST_LIB" + "QT_XML_LIB" + "QT_NETWORK_LIB" + "QT_CORE_LIB" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/build.make b/ModuleCall/CMakeFiles/Tutorial.dir/build.make new file mode 100644 index 0000000..2100b56 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/build.make @@ -0,0 +1,102 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/bin/cmake + +# The command to remove a file. +RM = /usr/local/bin/cmake -E remove -f + +# The program to use to edit the cache. +CMAKE_EDIT_COMMAND = /usr/local/bin/ccmake + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/riveros/NetBeansProjects/ModuleCall + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/riveros/NetBeansProjects/ModuleCall + +# Include any dependencies generated for this target. +include CMakeFiles/Tutorial.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/Tutorial.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/Tutorial.dir/flags.make + +CMakeFiles/Tutorial.dir/main.cpp.o: CMakeFiles/Tutorial.dir/flags.make +CMakeFiles/Tutorial.dir/main.cpp.o: main.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/Tutorial.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/Tutorial.dir/main.cpp.o -c /home/riveros/NetBeansProjects/ModuleCall/main.cpp + +CMakeFiles/Tutorial.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Tutorial.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/riveros/NetBeansProjects/ModuleCall/main.cpp > CMakeFiles/Tutorial.dir/main.cpp.i + +CMakeFiles/Tutorial.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Tutorial.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/riveros/NetBeansProjects/ModuleCall/main.cpp -o CMakeFiles/Tutorial.dir/main.cpp.s + +CMakeFiles/Tutorial.dir/main.cpp.o.requires: +.PHONY : CMakeFiles/Tutorial.dir/main.cpp.o.requires + +CMakeFiles/Tutorial.dir/main.cpp.o.provides: CMakeFiles/Tutorial.dir/main.cpp.o.requires + $(MAKE) -f CMakeFiles/Tutorial.dir/build.make CMakeFiles/Tutorial.dir/main.cpp.o.provides.build +.PHONY : CMakeFiles/Tutorial.dir/main.cpp.o.provides + +CMakeFiles/Tutorial.dir/main.cpp.o.provides.build: CMakeFiles/Tutorial.dir/main.cpp.o + +# Object files for target Tutorial +Tutorial_OBJECTS = \ +"CMakeFiles/Tutorial.dir/main.cpp.o" + +# External object files for target Tutorial +Tutorial_EXTERNAL_OBJECTS = + +Tutorial: CMakeFiles/Tutorial.dir/main.cpp.o +Tutorial: CMakeFiles/Tutorial.dir/build.make +Tutorial: CMakeFiles/Tutorial.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable Tutorial" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Tutorial.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/Tutorial.dir/build: Tutorial +.PHONY : CMakeFiles/Tutorial.dir/build + +CMakeFiles/Tutorial.dir/requires: CMakeFiles/Tutorial.dir/main.cpp.o.requires +.PHONY : CMakeFiles/Tutorial.dir/requires + +CMakeFiles/Tutorial.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Tutorial.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Tutorial.dir/clean + +CMakeFiles/Tutorial.dir/depend: + cd /home/riveros/NetBeansProjects/ModuleCall && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/Tutorial.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Tutorial.dir/depend + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake b/ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake new file mode 100644 index 0000000..e8f302f --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/Tutorial.dir/main.cpp.o" + "Tutorial.pdb" + "Tutorial" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang CXX) + INCLUDE(CMakeFiles/Tutorial.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/depend.internal b/ModuleCall/CMakeFiles/Tutorial.dir/depend.internal new file mode 100644 index 0000000..5be6c48 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/depend.internal @@ -0,0 +1,5 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/Tutorial.dir/main.cpp.o + /home/riveros/NetBeansProjects/ModuleCall/main.cpp diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/depend.make b/ModuleCall/CMakeFiles/Tutorial.dir/depend.make new file mode 100644 index 0000000..f246db2 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/depend.make @@ -0,0 +1,5 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/Tutorial.dir/main.cpp.o: main.cpp + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/flags.make b/ModuleCall/CMakeFiles/Tutorial.dir/flags.make new file mode 100644 index 0000000..076c072 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -ldl -w -I/usr/include/qt4 -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore + +CXX_DEFINES = -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_TEST_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB + diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/link.txt b/ModuleCall/CMakeFiles/Tutorial.dir/link.txt new file mode 100644 index 0000000..1230403 --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -ldl -w CMakeFiles/Tutorial.dir/main.cpp.o -o Tutorial -rdynamic diff --git a/ModuleCall/CMakeFiles/Tutorial.dir/progress.make b/ModuleCall/CMakeFiles/Tutorial.dir/progress.make new file mode 100644 index 0000000..781c7de --- /dev/null +++ b/ModuleCall/CMakeFiles/Tutorial.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 1 + diff --git a/ModuleCall/CMakeFiles/cmake.check_cache b/ModuleCall/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/ModuleCall/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache b/ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache new file mode 100644 index 0000000..fdd5176 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/CXX.includecache @@ -0,0 +1,114 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfigure.h + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescription.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +ModuleParameterGroup.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h +ModuleProcessInformation.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h +ModuleLogo.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h +string +- +vector +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParser.h +string +- +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +ModuleDescriptionParserConfigure.h +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionUtilities.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +string +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +string +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +string +- +vector +- +iostream +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h +ModuleDescriptionParserWin32Header.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +ModuleParameter.h +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h +vector +- +string +- + +/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h +ostream +- +cstring +- +string.h +- + +/home/riveros/NetBeansProjects/ModuleCall/CreationTool.h +string +- +iostream +- +sstream +- + +/home/riveros/NetBeansProjects/ModuleCall/main.cpp +vector +- +cstdlib +- +sstream +- +iostream +- +fstream +- +stdio.h +- +dlfcn.h +- +string.h +- +dirent.h +- +ModuleDescriptionParser.h +- +ModuleParameterGroup.h +- +ModuleDescription.h +- +ModuleParameter.h +- +ModuleDescriptionUtilities.h +- +CreationTool.h +/home/riveros/NetBeansProjects/ModuleCall/CreationTool.h + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o b/ModuleCall/CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o new file mode 100644 index 0000000000000000000000000000000000000000..188fa10b6dfe1f939806fb8a5f61fc8a31ce6814 GIT binary patch literal 399064 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�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

+A909n>5vKA^ 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 `IF~ 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 b>%IZc CMakeFiles/interoperating_Baby.dir/main.cpp.i + +CMakeFiles/interoperating_Baby.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/interoperating_Baby.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/riveros/NetBeansProjects/ModuleCall/main.cpp -o CMakeFiles/interoperating_Baby.dir/main.cpp.s + +CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires: +.PHONY : CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires + +CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides: CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides.build +.PHONY : CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides + +CMakeFiles/interoperating_Baby.dir/main.cpp.o.provides.build: CMakeFiles/interoperating_Baby.dir/main.cpp.o + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CMakeFiles/interoperating_Baby.dir/flags.make +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CreationTool.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles $(CMAKE_PROGRESS_2) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o -c /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx > CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.i + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx -o CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.s + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires: +.PHONY : CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires + $(MAKE) -f CMakeFiles/interoperating_Baby.dir/build.make CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides.build +.PHONY : CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.provides.build: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o + +# Object files for target interoperating_Baby +interoperating_Baby_OBJECTS = \ +"CMakeFiles/interoperating_Baby.dir/main.cpp.o" \ +"CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + +# External object files for target interoperating_Baby +interoperating_Baby_EXTERNAL_OBJECTS = + +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/main.cpp.o +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o +interoperating_Baby: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/bin/libModuleDescriptionParser.so +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/build.make +interoperating_Baby: CMakeFiles/interoperating_Baby.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable interoperating_Baby" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/interoperating_Baby.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/interoperating_Baby.dir/build: interoperating_Baby +.PHONY : CMakeFiles/interoperating_Baby.dir/build + +CMakeFiles/interoperating_Baby.dir/requires: CMakeFiles/interoperating_Baby.dir/main.cpp.o.requires +CMakeFiles/interoperating_Baby.dir/requires: CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o.requires +.PHONY : CMakeFiles/interoperating_Baby.dir/requires + +CMakeFiles/interoperating_Baby.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake +.PHONY : CMakeFiles/interoperating_Baby.dir/clean + +CMakeFiles/interoperating_Baby.dir/depend: + cd /home/riveros/NetBeansProjects/ModuleCall && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall /home/riveros/NetBeansProjects/ModuleCall/CMakeFiles/interoperating_Baby.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/interoperating_Baby.dir/depend + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake b/ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake new file mode 100644 index 0000000..c3a5b13 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/interoperating_Baby.dir/main.cpp.o" + "CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o" + "interoperating_Baby.pdb" + "interoperating_Baby" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang CXX) + INCLUDE(CMakeFiles/interoperating_Baby.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal new file mode 100644 index 0000000..8740d77 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.internal @@ -0,0 +1,18 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o + /home/riveros/NetBeansProjects/ModuleCall/CreationTool.cxx + /home/riveros/NetBeansProjects/ModuleCall/CreationTool.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfigure.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescription.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParser.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionUtilities.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h + /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h + /home/riveros/NetBeansProjects/ModuleCall/CreationTool.h + /home/riveros/NetBeansProjects/ModuleCall/main.cpp diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make new file mode 100644 index 0000000..dfb1a8e --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/depend.make @@ -0,0 +1,18 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CreationTool.cxx +CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o: CreationTool.h + +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/ModuleDescriptionParserConfigure.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescription.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParser.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionParserWin32Header.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleDescriptionUtilities.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleLogo.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameter.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleParameterGroup.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser/ModuleProcessInformation.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: CreationTool.h +CMakeFiles/interoperating_Baby.dir/main.cpp.o: main.cpp + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make b/ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make new file mode 100644 index 0000000..89b85b0 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -ldl -w -ftemplate-depth-50 -Wall -Wno-deprecated -msse2 -g -I/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser -I/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/ModuleDescriptionParser -I/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel/tclap/include -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review/Statistics -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Review -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/gdcm/src -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/gdcm -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/core -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/vcl -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/vxl/v3p/netlib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/core -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/vcl -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/vxl/v3p/netlib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/itkExtHdrs -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/znzlib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/nifti/niftilib -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/expat -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/expat -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/DICOMParser -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/DICOMParser -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build/Utilities/NrrdIO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/NrrdIO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Utilities/MetaIO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/SpatialObject -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/NeuralNetworks -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics/FEM -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/IO -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Numerics -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Common -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/BasicFilters -I/home/riveros/.slicer/Slicer4-bin/ITKv3/Code/Algorithms -I/home/riveros/.slicer/Slicer4-bin/ITKv3-build + +CXX_DEFINES = + diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt b/ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt new file mode 100644 index 0000000..52133b6 --- /dev/null +++ b/ModuleCall/CMakeFiles/interoperating_Baby.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -ldl -w -ftemplate-depth-50 -Wall -Wno-deprecated -msse2 -g CMakeFiles/interoperating_Baby.dir/main.cpp.o CMakeFiles/interoperating_Baby.dir/CreationTool.cxx.o -o interoperating_Baby -rdynamic -L/home/riveros/.slicer/Slicer4-bin/ITKv3-build/bin /home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/bin/libModuleDescriptionParser.so -lITKEXPAT -litksys -ldl -lpthread -Wl,-rpath,/home/riveros/.slicer/Slicer4-bin/ITKv3-build/bin:/home/riveros/.slicer/Slicer4-bin/SlicerExecutionModel-build/ModuleDescriptionParser/bin diff --git a/ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o b/ModuleCall/CMakeFiles/interoperating_Baby.dir/main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..400e842831651679d99b6b3105da5728465b57d9 GIT binary patch literal 353184 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

GI7KhxSY~HwkZ|L;} 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 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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 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 zcmbtYZ)_Y_5ufup#7)B8rA=u<+xQBmNhv=294B(4LgLsLpBu+9z66Tfvh3|W#~b!; zPrL6NJ0vB+cG1aLls`oXJ|PtZ>W2m)APSOenzYFm5UN0Gi$scA6-Oya3JCh4^`d$E z-g&&fjgT10-hIEF`OUnUd2ip|S2F|q8zK=<5`oXa@@QEeZCbwHD{l9~MuY)Q;FL;(EZ%tE$$AwK;xkbtnvRbG&8id7O*DUhZw#x=t!y@vj(O zcIw9F>=_T);xkt<=&6gz$DZhZ{K9CwxmUV4f9DFf+3E$KVCK*9>F=P8Vyynf=rTS?91)4u}%T6d6*^kEUs)pwUX zPxOB+!?PKfUnd&&hBwrX4Sd>fuv_)nKbHdiDB{gVCl+Zp#z|y6L!&w-yK#db)niMZ zC)0JI)>gqTyxQu~o;^2;lB%t@sdt(Lh4`0V$WC2sx)6B2oYeC;MbVjl;8PcyuxbF% zHf9%Dn`4eM$9CHW8Q;hBk~`$s$C$z0wwzupTdb{My1Z?eSxk3XTi@W3)&a9rnP{Ep z+SO*6d0#2z+N=0du4Nj`Y0HUAXKUUp$@|uP#k2}&t$@x{dz)dItwp;~v6zdG`t*wH zntExURdM=@`cbyuv^aAH%)IXm0DAON$>vGR)(c5@vY5B6A3Zp5Q1J9J*Ko`- zH|^54-AScxmsu%knR!QdCU+;{;3VkI(Mpk(xC=$yEGfMewDNsBJsP{0GvA4 za6Jl3(KR5TJJ$f1A4K17gnu=P9$P7WJw3aV+mGZcC0=P8FiW~)Cp%L+Qyr~c6#;fW z;E#Q?d!%*b#L&PnL?#kzqliTB-mtdm=?Fk40Em|m0K^&q8u4adEU`bfxjUBZjqQD8 zs`07lHyRq|*Ts_E2qyN$n)=qG-Q$w`+jZ>Pv(oN4YS+7dleCGP5Ya?b9Eht}@vQ^B zvBXfUN#N)U<$nCv8%sP9YXV5QlSQuQA?0$%zmBOphgo`xvk4BVg3fhFHonR z;){x3UB{(;P~MdGK~Z)}W<&C~DD7WWic(bkN}dXt|9f)&;!J>tRsh&gXZ{=O^e)Q6 zTHnJn{-q|t_;DPpJ<9jd834R03ybS6R>wasuVC#_%5tF|36KZPNj;`tg#lM~~FH2NZ zezin}_mzV0j@yYhe8-{m0<79QQN9p@TOqg`f`26hKNEuEx(V*(D6fU!Z-n4@ysO8v zE>a(VAOvS2xE+E&8S(R+komGJ?YHQ0b}?;PVYA|P_Xd43I&Tfj_p9f zawm&|yVGEfBkt0>G|hIo!}OwNmR#oWej~@zX=6-xH16mocl(V@W;n;wJMy|~8cMtW zuy(jz%j9-xLkDs@Gz(nrSi+fM*)H?L>C}c}s6a1ui8g>QqJ(#n1lq)=A`1dA%R2i@ChrkJY6aKU#`IFb@?#Gu z`7_as30>1Un=m<)`Iy55dC6e7CDnF#+;{2jt{1#yf~;op)t@>8DgNj%8&;}HGlL-c=5@Vkg#@skvQ$eXGW%3p~-&BHZ` zt2`*VNpKqfdlC=Ef17;a2J^5<;=w#@A^J3*+e7p_Li7(2oaRB3IQ9?C!!g3IYK~GR zJlIpJjz1(g=0V{OB^qBoputOuG0*`X`ehIan&byzCjr#`gGlm5S;Rq2@l4(AbBbTr};cV zcxaz|jo@_M&4uu&^8!AmJU^ zwI7`h;h!Nq&4g!;;P~5z;(vzVw2se8JXpu)B_3SAuMi%(e%~VaeZ+56o)@uRbU%qn z9R1R|Zz1}0KY5VgG;i$^$2e*J_Yi%`(@*s2zBESk>AW0*e~irQ6v63!HA8T^U;UEc z_?@fja-QJ#68ujR$9c(HA+HmC{GCzpTp{}SZK&ief>WNW1XtgbDF2W+)(g)zieK^J zc8t%|_bBdxC>SUHhM+{{7IpDY3H~01g8KAp_e&C2`s%yKl(^DY{>}#U)pyC|0IuTv EFYXI%9{>OV literal 0 HcmV?d00001 diff --git a/ModuleCall/build/Release/GNU-Linux-x86/main.o.d b/ModuleCall/build/Release/GNU-Linux-x86/main.o.d new file mode 100644 index 0000000..b5964ab --- /dev/null +++ b/ModuleCall/build/Release/GNU-Linux-x86/main.o.d @@ -0,0 +1 @@ +build/Release/GNU-Linux-x86/main.o: main.cpp diff --git a/ModuleCall/dist/Debug/GNU-Linux-x86/modulecall b/ModuleCall/dist/Debug/GNU-Linux-x86/modulecall new file mode 100755 index 0000000000000000000000000000000000000000..00bee6da2459456b9be6c8ac09f13bee093b7f1e GIT binary patch literal 204079 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 F{x6b#AwU2C literal 0 HcmV?d00001 diff --git a/ModuleCall/dist/Release/GNU-Linux-x86/modulecall b/ModuleCall/dist/Release/GNU-Linux-x86/modulecall new file mode 100755 index 0000000000000000000000000000000000000000..00bee6da2459456b9be6c8ac09f13bee093b7f1e GIT binary patch literal 204079 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 F{x6b#AwU2C literal 0 HcmV?d00001 diff --git a/ModuleCall/interoperating_Baby b/ModuleCall/interoperating_Baby index 232b6113a3d152501608a6682828cbd269870691..60bfdce2bfdea97fb6e958ee58d2909bdc517d74 100755 GIT binary patch literal 409857 zcmeFacYKt^^Eket8L$wVAQl3mf(RtkAeK-LE;Iv26zdU^1A=KL7n-7Ah;qhLL;~0l z#e$tTiXv(Vh#puYSR$eZM14*WP*J0x_kB&XO zi(|})MhOW@u14w-1yFiPI-=-brD{HHDkLghrK#pBU3F9EsAftjXc4+}{v>}Jn6>;( zWG;=BQcaXnX^jYx)`&RB-!qs_{)&X~*Omk>dt|td_=!^fDwT|Qz=Euc9-{U|4`m}> z{tDCi%@M8pfq2lbhWpiUKlz)?^2=Y*4|Ie7Cvy8l)=&Np=V9b8(887Ztv44w*N-AO z>qiYiy!?Id1fr9_(r^5?-dvFL-(Di;1RgJ*U1qcV@|UDis&{_glmY#E=jZm!&nqmO z-E(%@fSv>T^(rmu)dyutQVMBDj>|%k#Evc5E^U=UAAt7N9p9YM!FSTff1jP%_k+n} zPaAc|-78K=P-+~{!ih>L=Y5k@O?tDWCMqF$e%GW^S0yJm>Y<)JBfVSOCXEg?8@8~~ zt*50Af2?hb$!h+DUde5ehTfJuUoBGV%J~Uh)6eectXte@QBqr_<_tXJq$H)1RwWFd zzOdcCgeFbW7pTdNyL3rb^OG0MKSk9f->OtXa(&8uBl}ujsg$}}DRmvUO;$?fD5a(< zrKT&TW+Sk`gMJaWwQmUL`xhnX> zZAz)zA*Pg4KBd$hN~t@QQg?Ct-Tb#oDYaZFb)Qn|0j1P~N~x9H_Avil#eW}FNij`1%krPeE@URFwNP)fb3l-j72 zdX3v(S4zF1l-gwQfvbk$HzV*{8Gc(SwT(Y-S4zF3lzLw&Rm-@Klu{q_=TG?Wr~Fs0 zI{xrE|J@}GN~tf5&tLK9uOUY$rS>rVjZ*4crPOyysi0D7zf$S|xBaM;I;fO7#PH9M zCzVpaDW!gAoOv}UrT$b(9aTylQ%e0UjS~EP!LrdPL8-Ng> zDAhVasWu5potmIj2W~&j;L|ZdsWTFkI*W112}*TNQ0nXirOq+v&gIYD6O=mN!1v(K zJq=th{@mNZr6eeonxItQ1f>QT_(2IuUC8i72})hepD#^NYAAmmo}iQ?K`E!vFM~fr znjVv&)Yt^2E=y165DnY5M6O_7^ao6$R$q7nj8+35xBq-%! z+*G4&8h_49P-;ekQjZ>-TIuh5=Egmly<4xD*y+-pSG2t=v-a~Jeh8#AeRukfxwB7C zE=juW*x1oK=GKhaF}J4u2>%rimMxtJpWCIi`E=Zlxi!sK-afeN!FN|TJpD@d@jK?$ zWbT+-qYBbKb{$&%>f#$_%y8|PTeJ3pE^Ye1^IOW{+QXew(th=3?U-9LamU=6Ve5zb zo;|Yo`JI!7ul(iGr}Hm$UvdADG375@-lpT7EjxblVe)~N6R+Mex8|B1b8BX2T>tXp z9SZuKH+j^x=M-C)829>*Ju26B7}V^eqd6Cc0;?KA z1CM@l^)tCGHow?$b;fJoEV=3VThDy(#K)%%U$^?lK|S9~X?l9AB|Sgg-u#iwC5eCB zb+mR*lfiptO}wbhrzdRe)!kcv?XqFZ_dJsJ!Ykb$_+j1^umARTaL5g5AAi4YSmL>p z77hL>rAwQiTFtw-&9%c)OuhcH zDep||e`&^)b9VjomMeJM+oOsec`pBwp9a-hJo)3G zLl>{#ochY%xgUmV_f)U!=O5-)P#y!L13^FGKLGpO^* z(@(qXvn`}~-TTI`SF;iy z@AJ{(eMf%X_-dQ%-|i{9<-*s_xn=j}FWkSMa@CkYD+`uZ4|yZ`)axId?Ylc&I`Hz$4l7nCmn>_$tniORf!}klymrb{su}vAT`hPlQ@X2@marQYIe!D5_$4T>2Km2{y``@fQ+WnT@L%u)o;2&pS{#4M} z&Sg2WOB*xm-Wk>29 z@BZTPZK-FZUgoJiIr-;JkGh7oO*uH|qD77mDpo%+qUt*5D-ZrSAh7=A4!!RF;)joS z-22z8oj+GU-{`@?TPD2GrOhMt?Z(}7&8O>Mcz^VuLzCQQ%dw<&b!K8r;Pd$KkUz4*ex@{Nd3!^Y~C4KfF8+|ALca&&!{2#vL5TJ}<`M-#gB{UlIpj7)Sn` zIQ-Ye@z49>*yqzY{Ab0{>-RYGl^Mr>7R2E*JB~a*#Nj_O4*k(on6H!7Mg8d9hmW1q z-abloQ75aUL4@zl%SMZHiT>>xItP<|Qbh}*@A^IAJ2L%e7ZASLe!}-<{3Bh6PuEhy z?_+%C$wXg$IGoQ5JqiDDgglK;A^f6UMBjq>6elyEi%I?q8UIWV8h2S&!pmN~J=>wn z*@TCEI$Wch5uX(-&pC|W+==kxE+zUj#t%*={=1nE?D^q3mPqu!{SvNM@;O95y-WDG zGusn=Nrb*_+Yo+IJ@Jtocugb17as|?!>ZoIf5JK8`d-TRzwJE2!}$bUyV??;_YQ^2 zISS=b$|@$jTo<$a2TvqEKHe+tVL$n^TR8u;R>c3M-@@fA=uP;?h7!H_$#-n$>cNB; zJHNqtotr@T+j-n2Jdc;~xH7-*cP2Zm>rV87?|CAPo6Gatj}>cRf6n=xQOrHPU3m_f$iV*0+Qze#+R}^yF~c&W31OH=|oSb>Pnr= zd3!~KoDZ}lJM8|J%sw!ulHXdJNyARCX`YQaq`|hoPTz* zU-ckzH9U#z8JTAmb|QaE^b&tKSB2}Hu7p3ZnebopLU`5*#3wS(l%GfR9n#3J=wGGY z<8}5zwnJCu?_j%aYf6-o=R;g4wB>bB;wX*%yitUo`+0pim-D>Dbx{|R^HlaLncq~F z^BC(3=gx4=;<(t+p5$4@{D4He@KVp*!FK2sB>RY8Ej<_R*qx?kbH0*m1+QOn zUsA3S?Ej-8>XWOx(YU!S!tGPSc_T6&Up}Aooz3g4#4ns7L;Q|oJBU4-^Lh~(U%NTp zXKv$cP_2_iY z^Sk%!v%bT)UaI4D?OdMV*SRjbupQA$zMa{f1Eu(x3CVZs{6Puh#Oq@a}tL|84At6FHw0a~&n)-p_V;l>J}w z;on@h)Uh9m{ZH#g`cA%(^wRV!|AQPCgZW{G<>wIn+z38v*v=cjAvr~!YWBBh**;>= zkvzXkBKBWS-p37Mywr_rIRAI#^-k)6mFz!Dx!&%{{30#Or1{+XwFJ z!{y+0Au=9Ya$HP~s4HG%`(#Gs=SeK*j6X?E*{@CGee3W)2!Ah+o521M8INwx^YgiW zkY^NHaz3wPK1-O-HqOI;@_b3&Yt4CJZA19Dx3E7)#_2mO=id?XALI3|PsDoBkMrJu zh;j2-&gx?{?maALW9AbX?>W3K?25?$clV+?XWw7pd@kg?F_QhH8}m=%I`I66e0~e- zmC1Z$URH4)j?5?b@Om_t>qhazp`3>m$BX2Xm)Wmo{!MZU{}pWKi#R_>-Z;$lXS0a9 zwDfG!cga!W1J9PgWyPtlR>;07;vD9CmZuxrU-+EL>(_N$Z_B#>0q3z&&YzMWp5i)x z_CU&G@*GQF=Kp*n!plB%SZm7jQ`v8Y|C8*`8Js@_-;?Y77QCMoyH)Wy%%X_;+{yLc zDM>W0tf$v-9d-I_vYW)$>Fl2^BJ$N`Tn{(n`cU%HO`Hb~@;*!E>mbKcq ze&Bf*z4~+BxRB5N#13b&9ZrhaZ?0y2A7#7AJXUg^KO5+9l$I;8Iuh^jzuaA-O zuCiXR*IUo~!TVd5Nq`+jHDaIDzDsJg}GVzjP}iJIM7b`&H!m z`I)EFIbQwa;pccyaa@eycp1u!7V`S?d_=t8&GU5;=O3B(qnrnJb6m*$hB!_yV!O$? zSvl7^BO=a+{d~?dj_Xq4e+$>OMbEKgm;`m%!a%&I=&dFFMl z!)HXuKbqw^#(q13`G3dz`k_2-E5={I^~PCTFUdL5`|O`1BK)Bn*JF|Kej4jLC8AEg zp4Z=>BlcN^?9an^T#>WS1+?DnN+f;doTnR~8>I1l3b+pkS68n0F5!GD=S5Gm9X9j& zBKwHnIbJq$T_O93@v^R+OykNr(unJU`#Aqde%p=rvrbm`en9g$9v<3-D?e{aZazI1 z>~>EpC@OT9db3NsZntuen(3b4nU+`T^^^?D&n_+Xl&akPqGC^>%FXwbloXYy-2Box z1u8c`C%>rF1FXgt<(B1phI>kLO7e=mc}0bp*(If(l3t}n%6-*1mp8SK`*Kf?x2VKD zCA-v<;VN}yXShlo4jZ3WP@F$3)iD$32f5wT3d`I%vuCIFE%eNCXXob^|mFg}44x>{CMv0U*(&L?&=gs%fASl#uPpP-0XpTF( zY<9+&DJc%eAh$c0a2c5(;LM3`S6?@>ba@BNL>;1~0Bus-4oAPzyt&LiHH8EiQ#7q; zIP3MV?a=4nir9xo(e@ZwQdCw;y9=F_%YC49e{P!6Y>-?Vt9oEM&VYDk1RW%qyxQ(mSF_5R#k?AUh>5LZr z|KNPXX`)=-)V?`I#dF+KvU9GVm0gmHW=(NBCZ@P2x?O$TEMN?$lu=_$LSIi|uJ}Qp z6t^2kC@7lgv4;Vdh5udNJ_Aa!3v-JK+}Sxfp3+i1!ESH%G)HRRu-+(LU$=wB>+dF4 zae0gLGjd$s)YP2m*(GjoNp_yMG$Y61%Ff7fI9yXQCb~hNR5w_BfZLUZMyEiIRwK&3 z5+gzyMZm_4j*{3;F8oplxyQPvdA#n4#de|)yQQYMGrS(oI+?CgjPZeP7p5VHD+N`E zH7zu;6EBaFQn{~kc?&)94K-!LXwz1iqd9-X_s-b*X+yGJmJ<93%7<`w37^Rn~v=6Z6;gR?n8 zNFa8^z7Q%CCUVczwD5l5{@g1vuKv4eS*b94?Soahxv z*1O}Z3-O&hYR-nGLSUjt#}?TjAiMMUE^nXk1i@L%o!tjB46G55%u*r#?QHg+tsZ-+ z{^xZ#N>gKf%gxW6i8_b*U~K)-FZ)Q=ibJDACEDZlbYT?9BHgENRHZ@1k8p}_Cs(Os zP)<={skfvo#|vhjFq#&pD2IqGtVC&QU-wvdSQ(VUWl#()>>9;1S?mEEGczZGz5e6U zpmUxpJ04>@Y@!m&KO5E#x$v?wwi03`o)5}N(Tk}&`*_YCH6uC?MjO8rOVFquQEnV1 zSl@!|*%<|n38SfKKvzXJ?m{TosCI?~3(Qm9<80(aw}XnXy7=Sv$7BJSyL3W~B?4qVZURZuo1cQr(I`i(pik}N9_!AT z?#a2{o$o0GQe2bbTO(eG*>0ce9xL^h#}V7(HL;|^(NV@sO&#g+jwvdfHX=WJ8dYt_ zRX0ATfg?TMaoGj3afvw@tW|7>u~|p2)T#YOdc4N=mL!d3>9m6E*=~CqI6BIov{8<; zwi}FN%PKx-C-azF-c;E0hVKnaN%Z()iII*!4ac`6x0+ENy(0^^l(`r|!68+o5xgcz zlq1J#5WN&1`S32!P5~#7=B(<+O|2*}_mtO~d)Ve&VxU6(K?maPEL1v2bqNr&RN44dL zgC4yUr>3}vNdW{(mEtr`7(J18W>NgL-ZA-^s{Q-34l0Z32qET_K#Cfc?e$D6Dw%^b zXF6i^>KJ?Bv8`T^hYlWXV25Lz%N-LmnmwMdUUN@W# z@k!QynBVxj$yft|T6u+~o)Rydk2=hWh!b6@ZikT@;Ls|@9v;tN;_mMI=yR!leDZ2W z8z%_JJ<%B!Dge8Th%(E6asu%E{Jbd{6GuBHWe%AL2jzWx^+^F-p7;9FIi(s??44fX z$WEbXm@=-F|n0c=3jJ&XOVWTnEm7S4mH|FO}VP3!+hbr~v=Jep8agk>oj0}ATjI$sh!v@D#9PFL z_PEimQlrRll}eRlvno0stA23b0EUlBPRi}hnVsz}@t{Je-oR-dZ+_nK4%a3C8`gjo zpycQp=$_!3k^xTBAI~Uhc}mMGD#fJLFQYKet7R`8kX>AiAw+est;})lB8$7LbXY3r zG+{KJjnbT#4$LVkD9$eNL>v3K7K$|X)V#u6oII(i|ILgY&&*eibCqVhY=3~`T+sx| z(?Mj{mLl#8aG~o#Sy76!1}y z%bQ=C5q&0a1_DeRM)E|r!`0s%W$)v9D^Zoy7 zbMmwQ8cM@b9Wk;ZRvsMl#|;%bn^6Tz-UU8X>M5DYd-BmPFUNOYQE4nwIr@5vrbY!Y z9bLQeZm)Kz@MNkZRmTpyEF8(gVpc%wR({@;X*oG=Trg9WJF9S3USY0#f~T~s0B;@V z5E-nYxp^fDmmc`wh8xm3*SmA3U+>;^QSO`(dHEhVI?0T+ z{ZVeRZBA*Kdum=G=DL1kz0-614k??R+Q(ZoY^YPibz_>h$c1Z)164CB zAD27B2dulPeanh-v%Q|7MYH27K!NekT)7;BO#IKp zZ0;~(TVGpLSE@T>sw+EVDya&0UH?^|0#|lML3kg-er$k$VKiJ~{#hLs@gGIAEgzRD zI7n*W{G#mK;bjE{bHKkMk0p;^iHm#oNtx#HM#WFWY{s*BzAHN;Kiq!yr10d)2GcMs zcT4T(9!u2=9h#CE4LbJT*mU+lT>gtjw#{s@F>4!~U2ZY5gmUab%q|kxF%)vS#jk~( z;WW0O>~6xqZeW8*gE1<%80@s0+1lBRAQ0FbAc+KmK@b)wu#=QQHQ&@!u8(l51II<^ z4XJ}D31pTO!LtuzJ>Ka>xiNDYcL*QV2sIcrda@$&5Y~NKrkJ|Qgv5y_tR`b{h}=E8 z+>ye?_JtU%xFV4Sg8h{&nsJ%C)SH`E=q@YufG8MfVT`h)$u&sjnq|`kt&pRD`8=S|s0kapA#+Y)O z7GjN8Gc(r0<&ALrn8xK8kCr!<*T-5vW6>E)XShU0dH@T?oP=14(>6+b3%kQ{Eaf$8 z8hADZOdT!@Yc4+ZuVt~tfJrbsGiJhzm;({nU=o!S^;{V8vPJ(7LbA!@xBNgPH=j%b3G+kDQMz|#2d9#$}lk%?~|fSL*vF>%&hj$nM^BU zPYnm8ZZY+DNBWOpC#_wq*Z`+7Dr0dP-6z5#k##lu(|;L_eaFlbwvHUq;+I;CSfcaT z;aMxX(AV~|M`00Sv~c{yXo+@35z?54xLc^04r55fdh2nu;t}?bbR3>K-OrGP-Q}M~ zj$Vsm=*7br(`*|vuFk^8CgtFl218i3du(A1y67c8b{BihXoryDwT*4(im^}|!4Y?j zNQHA`$|wJ@vklAo?7*=#h#?)G*~P%y%JL!-y}Cry3jZ)8@%ZbsoQ91KRIx5AS}U_Ogz7&6PSq^)}k!l^)^kO^xUQRzqLgZzmv=J!(#PPw)Q9*r38P=lDHvpG>-xKigetCVZBL47mASOD|z{|TW;7T&^{0cj~ zIv99)rv_Zf2A*G0f>$>KZ~op$ih<{!D8Vbuz{_urz?E*`^-r$A?|c||d3PjSnFe0I zS_s!90}t<1mTR(shu<8LYr28wSApSGY~ba)pm5DL@bbXWn;N{&SaMc_5PDF~AW#Hwzrf?lL@bFs-ay1xudG`ulkJ$b%@0frq(ZHWglz1f> zc==8&TpbL&eAgGQWCJhnqJpcNfj zFw??SYv4TwzRtj3WZ>%!yu9-fF3Z5fJCfx(Y~U{yB)q54z=yplfZrnrxt6}6O;@6U zmv;fcm1N+DF)dsj47|Jx6|Q6h??4P)-3zo*Av_ddcr8j$A$%dgu(Spb{|)-~0T`ClU_HX; z0}M-PuomGi0K*a*tUStDGX*Jycb|t0)y!Y?*bT>zF-Q%I{=0yFPMz*I{?E{7feEU z3&60%1r@>@0fwb5c=#{Se;vTEqy_5{ei~p{vVye;KMF7`RlypB?*|x`sNhEA z0Srq_Fa_ZW0K?J}Oh$MVz_6qQlMo&XFf1iOh46&{!x9oad<^FwU|2eW^$4F2Ff19t zT7+Pz4NgXQ2EdRigP90V0T@zbFdgBm0EW~UOhI@8 zz>pGy$q0`E7*b&{3E`mt!%xr!)zJ{V76z}>A2WO(UFY=eb(ZftoH;QgPy=t)a|SlU z3*?-E0K5;xYI!UaIQ!3NO5kcMdXveyH@1-A;eSSKN0NDMR2E>^H{uy|s$^2~~EujzgifvI3+6B}#uc z4Y&~s8n)r*e}qE&XE^;;XlpSNTCo>&@>jq@>h$}eePaNHM&s`<03LNte-#o?muFz2 zxQj1fT|}Tv<8!}ZE6#dTIA8&q#6Loz^1}%WYg$&!4B73zfHlq__XVs?;mqn$r8*Fy zG7ILiE&5i=h44d}LC8ZirDE80un0}52WJ=NTda3BSYc3xZ>u5vEx(6C`x_HZ9CdJm z;E2=JzlTC&eBbb#f|MB|R>1oEk5I^Z3Z!1J6&&U2A=gk!0N*J;kmU3o#hG>-f{u%E zKC=!v{f_$T?d%+{;S@OPoxZnW&dYHs01R05XdUXC3xkj?%C{!rIH){PzWf^qO$Z#S zzmNy4tNsXuAWOv*=`XZ6i?oMD>J}~%lqn!Gh&0v^=_9d2T`ZB#juh!pArDxA1`-M4 z%h?pB5#nnD&RNx3baPVUI$OLN9Zo(&hOxl3vVyt>tlFu-Y>U(Hs9|@_M-Gl3LHH!% z_M_A9Sgg4XCT<6T;1DXFb92t8l-6}2vHAgM(un2kPQM?RI{j79 z&*@)JWC3g0Yp5&HXkC+W9O~%{SVPEY(x(rB$jKM5&L)LWK=Kz<0Gbl13H7^^^!Og| zG=Ev&L$3MT&~*jT<1)wL>91~ z-iW#qjn=gvO%Gyy0V|7)CVfT_h@5-@YaoIo;A)9(kSPJb2jbNbg4S-`4( z6?G*Vt*aB~fO`4@Rvs~uK35TloO}UmG=e1HhbRat08J^>g!;WidVB+Tn!hYqLtsm- zb*&-#eL%zWw-4eKXlNM@SPvo%#jCCBxrafm3fPcCyppca58@Tc0@jWV6t9TYx?V%m zgIHg{nn#SJPa%QG3Gx|&B;YqF2r2+g!>I}N+h)rMTYjF8TMvOaj=ey=jAm>vL?~#N zFp>)OYT#1IDZc{F6S%VjJ6FJo0R$=jse-N$q(~O9etLz16u`;~TsEjgnN8Dz4ZeVN zAMuiIcMyood;#l5L(CAVPf7%=$<$N>WFP++w$R)@IdY+COcRc)2$bTd5J3{~XB0$Nb}ni{{XQc-a98#k+AQlU2;{#E=l+K1zlK4V6V2BU z$Uq|rdK1!6AltfTfT{fza9RU_jDM=29|SUz1*~7!Qy?Q&>v{{#A7Xt0YZWn)KKBra zoM1gekOXW-y5d;AfHjSpP`~}8$8NyW{AEGu4rfC;kbfuoFM)>V?@I_|ppgW<6KN=r zQ3;&aYY(8VaIyq}jDM=29|SUz1+3L6ZWpDG)-PGpW67**z zDmFm4aEcz}ioYq|a^wk&`cAy^kOXI35K-1)ymiHKBe3NROR>??`&=gg`cR9ZJUg7-)VY zoj!&@1{z7wXCVy*GAe<(uK6Byh2vZZWc*VF{UDH$EMQGsOM#47t?O4LGGcuJD@2T> z&tU?Q6Rc+ll7Jo*1Qmd$x2XyB8%2721bCXitdAg&;Y3dY`Es(&4xr)r+W~~1wjR%X%{u2e%Fy69|E4{FY7~CcuierkZo##hUc#q!Ww8KL61Nh)D;fVS=ZWc zQCB!7hnU7cRnQM&8p#6IP0v$IBUbC$jC4h;FJPTVMw31r2t-b>o{>T*pr6cuW5Iba zNeTY|6*PDqIo>uYveE{(aG?JjNLK=!!R04f?-#*k8j`Sg3@lO@> zgLp-o0@fA8OS(A;L}tE#HOLV24N{+!2v}!9lYKnXDT|YGMJ=B7;7nZg4anqp z7g!aN9o~i5goEnSSj%O|NA?Ma?apUn=ZYFUGx8%>e-(6v@I;;NDmv0c!~t`5p13a zvjAtKc$VV}ShH+8eRPv!;N<+~G8;#SI3JLW@W99yuzDNqcvAKJH=$7Qz7u3TJWufj ztP^ZHeSGrE9<8cAL;2dq(Lu^}G#(z>!1`~r<7vtzFkW{(o}6ARx9Ri|M!A8LbBrPz zM~4{)aT4`m#$`r3o@jiqHxvrK+D!Dra|OtMHl033Xk*~yEFn~{b*2M_n`t~eyzm9A zuZ?y*Rk#ku%h2P=F8&ppPH*K`8#vj|-)-Y)Q-2DLhX)A0fK_C)BUdwBx?D6R6Wdk0<-Y**2ZtEanGX!}$XB+`vTLiiakO=F(|EW|^aZRMqaF8em%@1G>+xj2w8Ey-o2G>Z zPIgYkHjcJWhrXui;>}s6(T;nl4`Kc`HWvM4&(h7N(;Jtz22OS_%Er+a<`x>oDRbb1r#9|vqyPlRb9_@(&R`HjiP;fuq@5AiKrRUbMRg=+1Ws2>)^u%9*Bv07aV z_Jkj_qSZ#K!{#=fE)jqI!q!>p#632Sip9w^o)n9ljdrYv(_y?GdOWGn?z8E1nO0%o zq*lAZ#!hn-Xjs)p+x1JSm>` z>n8M)pFfa`8gPkYLSO=P`;lgd$D(5B)-3QGZDZY(Y5-9+fzsY zn-*Pj4^N zSWFcW9_y%INKCv}^%>IGH`7Fw5Yc04^&-*y$T!yXalsczgWAkz6HTupzoI)(bepXT zZ?pN!@J3;KRI7>zv}GT`5p=P&1-Ve2_%d;nTXj!T6Ux;C_0T2Uoz#SCC6S7Fi|Pm& zUEf0!70)0Qv6`zT8o2KWH@);JK?Cx{T_#nOSl8eB8EQ#4*!*;ZtqO0J`PWO~*=rS+ z=0u|v-9REsmG?O@l0NScD7W2SLy!c#6ou90<0@)G{koDKcn>X+^w9UvMAsCu4OWu- zXxiYuBi!`TrvxY2x>7ZZx-R<^b)_3@e!9U{g*VIm>!s)&`Y`HBG+Nj9NMywN0@jbj zNcwz5pxk!*5J3{qg@WkP^(AUT{nAJeyoW~fXWv5;U5Arxu!`mRgZqwf(@UQcBqI&Z zD^=2{>(ig0u5^RVPdC`A@Mf8Ry%gM+uS8vmM(bKnB1?6fK*~vP;R^Zj>C|EHhu@V132}xPOKvN$;QW zIf)HB^`c0*{z(IY34fV^z^qU6L0Nx}(TJ(P;p0#!=+kwQ>~6;!beN{oZG=v}7uYz; zzt4~vWD9+g(T+*D5(Ya%4<<=(-wv&l&V027PSW4&HjZ-OU>Z*zLwL|=$3%EKjQ6ZA zk|gnXZ91KOCL1_OL1Szj<)L@UgJcVRfzgi1=$W0NQ1Bu>o&$|VNdPXj>2ws%H*gY)`8JN?asLjC5Q)bzMmq-OyPybH zX%Y$N*+e=V+88*AiBPRpnBw6-m&uFce#Ix%dSX@ z?FI$rR3}*;bLz8^)DIZcm}xr#HQjBv6s&+}U6Shx3~Eex*BA)QdZP^lroMMjU7h-R z810n*-VKFN3Dx?P#K(BsNJfu3IoeC~Sko*cny8bbYNWySfGQ1K z51em-(I`seog5wUqoTNk+lt5YBvzS21919R60h^MplANYe6YBQ^>4CBS z0ZmEN$or?ZS6rUsog5{Su0*55WeJHa3;T=2NYdD2 z1WMMbLXZSJ4HeRfaV|BXet(l5m}hAIqEC)m5DnHeJbzIqN8ce&)Rpoa>RS9J>Wa&A zypy9d?!ZE)ZHKBg3Ne|3%G=I@2M`w|3 zu%_Ypi#j>_6M3Splw(oXgY|vpYTWce9LVM80 zQC2%0N77mCCZiow+tDpy<%;YPCfam5pQIZ&Nh%lEILa)~pyhOCImu|p^im1q+2x9a z^S&Bw1Rc}022KL|bsI;~J($Lmvgbjg9Yg$d7|$+OB&57HosO%?22O%&jE$oRdv`NB zx|BT^80{El&uk7WSH!KG*mT;r4{x${76;#LDq-e-DR;N7)@~^|t1BV8;Zn)!=8m z|Nk%%e}&&CljqUiAz~!B3y3Q#Xq?)@)HO5Ix`V{W2MP+&c=*scEX7*IWkin;osS|Kc<3C0P9Of1APuN!))L2F zM=hyNh;tWeO$92-wS<_y500Y~fQ!r}wZw1&CG7hnNCLi!g6N3vNKL5UO40)#%D$DR z1RgqvVAZ-lP4xKC`E^7C51m86>$9NSkOp-%YKbJ$^|-af>kCm=t|dg*5i~uLe5Mg2 zsU;>6C@CicK@#wN6hvp6Uetv8ts^~fHKh5&XQ?4kXkDv`9v?yH`GZH$A=&7&p!<;q zbv0^NW+oT6R zOHK2K&r(B@(z@;-dVKPO=MSDgheW5(f}Tej)YYgZ(l%10()kExzNouU`);LRrCLIC zEu`s@q78_+r9f59lw= z0SjJV=B&(;L-oG8zwrd{-z2p>5mM1zDf+g$iNWVD@V;Di8Xr_u^}?a>TV8%Y+*R8+ z4x8{nhNnx_?5JcIkr{aq*naymER9UV|+g_ z-=)NtzS89f60@g|deZm4{6J)mdOfuoUk)?i0X%jGrjGKm-P%O(0T!1m{1&us}tkp9Fy zyHn3?+_OLSgy)F(AxX4P?MomDJ-fCK{Sv=Pf?t0tU=KS9gshOS;t&D34)oH^dxEwv;D5pT{P6 zApt*(iQF4rM7^-`J&E*!Z-n4i-O5<6elQDKFM2`~JHLjV>A6b3pT4YCMPF!JFAs7~ zy9xEeFK~tFb&zMCpQLO_ibyv_pgivRlObjqIfXn?`YANg69QP0qhy_l9=Dw9=`-#h zpQ6vW(R_$I;*$eV*k3*5njzN?xlW$H$FHX*!eDeF-V+3d6LG4~555!%1#9#JwX*XZ z`J&#aP~|(oM(Fali;bfi_z_Z9j@la;?O5M0fWcDrV6yYvwN4MFtIxL$oRpyJY#i00 zsWhIPX)Q6@u^4Ry<89VY(@OC-!=}>};N=ER%D|yEj%vZpXm?!;b}`zqAbjM-P$)QF zk0%A#pZ~MGT@B%)rS)e5-+z)wpnNC=`5G-^-Ad;tGRQmWyEqPS%Xx22K`^ z(+!-g9w!($Swen!L94IVk*^J$EGF+7I9X9%F>tc1tTu2`Eq&8bDS3KU9vv)~H`0#o5i1A+O_|GZ9h;J@_tvIPg~@Gi|8-Tn@R0*(Vv?K%UFdaQca0Z>^1 zO|S&7>V#D*yd4a{6VH(o3n?;QdlpOHI_SLL2`3*w*M_>u>()j{H}-zy)#`;%sN8V? z7Ji9|KBwW5UY8(z-aU&dfp@!NB~XX!dD(r^+!lr@cho}(AQB(sF6UC0dM*LFg+if9 z#{uVpt)RSqpbVvbAG=`EI%BPQH)}0sFE|>SgiBf#J=^bh9s|SeL&Nb6D)2uiJz8VG zy6A)Fa3#hg&m}Mw0Wwr@B&7Yy3gQ~DE(8JWm$p5AHd~p49L+W18SGz+v-CdhE$Fzk zJBY=!*?FSQ&M%sh-dLUV0jN$afz) zpQ)7I{hilYsf9Hy7ajxG@jGg&@8?dpgm*e{hIXFn|1rrIQ2xPblYi{0jV~e+_bhJ2 z!){UE+UpFS#`o*igE83Go}$k+)h{#8#PDIu^sw`*UuTkBWKV0if9(8?HTKBgCS!3! zj}GZQPg}B~+&Ak_W8yJb_h&+(-~fmy`sO(J|Dn?j`<#$W_GyhYhJD;mg&B3@=`!tj z-uEWUx&Z|;5AIAu4Ipv()J}Gnzmf^0fVqt=0!Mq`0SFov`*cm1AgNjqIR2`Bn+54j zf?xsS_d}Cux91=h<%w@?x7|2tx@h@}G?r7fgW(2vvZELPPXlXt+*gpZd8W7VL?^sZ z20f)ejmxKbVt^yWS&FI(0;M*ZNgy70`Lotmw?cLSYb=d~C6C_^%^T0MN5W(z&w1;S z?jT-LCY^4u_64kyo`NK|50ae3&e*o-@|d501jCm*YN1^g^v@s(!c(vy%wR_?C$N)g z_ajuNfvw6RRoZFf7w*}EdQ!G*S#dAa&@kOyS{z6Bu75< z^ZS8f<7nFhwnHkh%gEj&kyN(H1Y*HhSp{oE^*CmGggRoaNw)_#PO;gRP^(m$bvQj# zJo>Y0s;4rO7l@3{1>vM?!N(o6TP7Haqt2;(ZhmM+VLT(vkTFbQZ?^Ga$T5y zf*=ijC7D&~;*CTpCBriWO11wWfl}1_36wp<%?N_O1*{VIEVngbp*L=8;)1;gRHLe( z8EB8&L|jk3wJ4{suwwjs7>%AJXQ-Jsmxl$ zJBF)QheFjWZb-)^?JKZke=378#tOg`m5w^6-`R$%=UUEAOMnj-*O#wGp75egIfQNl z65(SQdihX@T=?#!2*=6%C{C{s?wXeW=i?qxBy>o3A?C31S}U%*;Vpa?MFkx(d5(eNj|Z$0=%Go>o40EE3I z8V1L_xP#P}tFVn;AVTAPacb;7&9Tp$)!%Ce?+#QE7WZA-;uyVIpWb&c*+V|H3iosimJk!g2oLE5AP#$SaEem|*-;&;Xe zfU2n79Bl|$1si+;YYOop&H>8>gU{Bo^fP5?A0|tREz8XhqGgjw7HkNU<#(*?s;J$R zh5Z>Dd;#lI;zOJRR^Y)EQ(~ohHzQ%i_=xqZpwoG z?Wc~ufHjI_ASHz(Q1T(tfb}%#iFCez^#Fk=1HAu|xS(hHD{5@^JMTyHtR<1KA6|35-NpL`ZxM zJT>$pA?KrzetMsH6}={Yy+rdke1TvU(U^i}(`;Y^y#JDT5%+*qN+3xQuyR4rbS<~T zl)D>wKrxxhnAWEJ#VKllc0H|)lW8bmXSx!M=7-dT>0 zLWwwFy+$Bqt$=j_%Y|_lu+Ah8^*7Rqnmz_Ap|% z4S?g9V#xB>54vyBmA@o)zd6CFf2tNG0)(1JaWykiMv=P#Jo z07Ye4=S}L#Y-NpI8VYUbR+O$b&VMvpRRazj;)$i95d9EDHBfJYpEI+b3klNco7dp< zl^u3gIt~+=U>L%mj+ocrtaLO0yYDqS5~VWhSf!((dF}Q$@i%s$v(1J+!Ou^0aQfz1 z`1>sZRl6E~49HBg8^jY(omwZ9OqJ`{<@I z4e0*?>r{<7%$Oz`19yr*$z07DZfO9f{$Ak>zw`r`bWO9CF|TWyHH>*$V^%R{g~qI4 z%xxO8m@!_BS;Uwrf+@G~TxNoXYi5HiLv6Si;664y9pElDJQ?8DHarR7MmC%Y@Xt$F z+wvMGz*Z8g}gxhJX@hdirF8rhoqxUYiVRYQvZ5VxamJOr3PP1Y3)GKTl zophuPW2zl!!|0ml*)V!#dmBcFJi&(1RKMTJ`oR0Y;d7*walr|M<)U&j#p`#5n;z}) zWCRk8vLphDmYElUMDt9KK%$LY5lA%DB@sxpR`&=bnyhUE673eM3>O}a_d^5{E%-?U z63ti>fkazA6NdB!totjq+g)~7D5QUt(5{Yr0qbgfDd-k-vPx$n{gpe)W1tb-58k;6 zE*d^PaOQxHi*@9FKe@I}B3S2TL9N%oTiy+op-@Fl%cV6Os*-M^DPIiXFQ;){3Xfp; z?S|t?oo`6}K}@MB+)(QNEH(W|STfxQsB`+@7#x0mO&;8N&PT?q)aTHH zaR)s9jAzvK;L3o79|%jcs1r*4mwaTYkAA>-{nE#pPeGU}Qdr>rtP5ypkt1Bdv?*?qIqw+&F6 z|7_yi@XXV6Ia|K4vVinx;iW24)e6k3I*|mrhB3o2PNwREuoxUt9!c6^9P>MuJkL*F| z|4j!8R5NU1D%HqPYGF*J3T>sDE)om>7p->9TWNiHYmDzZr|)a){DY7dv0m6+f#J~&zjwg4rMx@Y>6^F4=__01 z^kuDZRyx*ja$Cd6t>waJ;3NVYFpI%@w1%sbH9X0ef=k*Y5Tt8BNoQr&3gfo-ZwqX) zG5*QS3Aj!=ERRigz$?X8a53gK?pY@m3P6e&_9{Pp1!q*n)aA3{Gs!>B! zH5_+=ll6dJ@N@u56|lY~crCrcS3ffR3!&>s5&dlOWst<>*Os9wfGS~gePg&E+ITGd z2=f|LlX6mjc;X`9u<#h1$E(0Ei@+l}_*m}%ToqENBP8Zprw_koyMY9-oaGLSO&GA8 zN8y2~twcR3QJDM$PugN{Ym9FX-$|Gy40zy^aA5F8d%|=%iAU7fB3XA$SZSfN?ivg{ zJ=Z_d5&%lqI(-l{@X?~_cGQz;ph60q}`~yXW&79k7O%qd!{@-l|cl zhzeNS0fj%voot)j;ESaf)Q-5Cu7Qa@18;Y1aaN9nS*qnJX-oTNkh0!cIabi;Bq(Ja zxf$bPGFF9>=V3*l14~%5{Sd-9SRO6shb1@3iXiz3W($7XH8P)FdP|&)L#y)Uy^Wm- zwXw5JYr7JV(J+U|l>KuxNQ+DZ&0zzZWRP)`P=V*cqC4eK&UMc>mMY=j=lg|bA0s1& zZ9NtsQOq&#H~WXL&2iV5VzW=YF$?|;(bFbT_~@`Wz5wd=7qA$VZAqz zGd=Mij@1#!6veRb!$ekTJi=FV^a#SmS9W-RE8*1ymeF!Y18s63oxy`;W%Zn+{*nL9 zvH7wRumv|=pWoIu|< zXFn@~(d^)zoB+?;?d90bN7amjj7V)B!@vqyD>2!`cT6tR(FVBf9EPImx;yrYv}1OZ z?*Io_%Xsq~2Sa-A^0;^5jC(pCwcFz z@EZ8sZ*&b@2e}BM6~23G_*rF?E3sSbvhS3ZA4oB??AwkItlf1K-LL~i1NM$@@n~y% zOyV%^RHy(~Ip)Dy%+avFi?h6-KG9iTPzR+oWGXokI}w#DXh?9D&udUEABK3{0qvw{ ztbD!=^6UOHNe>teiyX{x<&L^UsY2`U%O02jJ~ncz)Ay$J-E3X8-8ct62CO#l7nKG6 z$no&+p^#Ns778t1jC1dDE;uk7J^bh|En8LG2}zZIej64@;BxYuQ0SMINoE_M&*kyx z%Mr}}o-*AZXx7bQnczpxU>NyMoqn8pu}}o8w`S{;SS{1fEn8JAiXqdS*`d(SEtAYP z7;kSWjTa`4yZ^E=EW9n{8|x=(~6V72)7GHsd}3blMWTBeb)rfz7sOgS=QTssXBihwn9W(+$` z^~E&Q`5@G$XrY#r#F)J20BIZQ12$%Sp`I0rfVBrA4^{yq?tJm2T3QwgwR|O7sxho& zm`k+}mnu!hjBBb>g(6^$jwRK4!)>%jC6vK4bw&$0)YHW=>{M|>n4O;B363w(LZJv) zuX>~H0bjuC>W%iOm{$6tG^Ulh z#_}e2xIpt|xVQpcClmqe-qL?Pu>LNIvQnIx zdkHj&CDQ|iF=lQ+xJ*~bh;a?oUnm0B43-J1z6A$X(Rv5p*rufgzQm(l{HzlGQXG9n z;}CGc&s(ZDj2fcG_`bJJ$2p_+ui>+NG5%iM$UrSnfvhPyUQbi1G6}xj`FDr|W=;We zt#SJ4_2oq9620}I+IUo&PHMh|)=EeH82@DaLMO=X3t0Wql*$;im5Sjcr?0O1Reo%` zD-6Qld>86w@M_P&`Wx?;!C9gGPOnDn3}{p^Q{?yEekuxu_IEM9u##B_w`=WNed&cz z;=zy2$Ty>&=P-odk1u9_{eSGed3+Q_^FRKc-R)$PY?95zk%VLu0)!h85hEa{f(Aqd zMMT0v0z^ZC$%4Rxhy;Of3*k~O5fHgVMMXpeL_t8r8xau|F(M*ziHP*~RXshsv$IEn zkI(1#`@?y?pt`$`uCA&+W-?n-6+g@y=H-XMZkv1jFo!H6{cs<36WkB;ZUoLn+vz1k zO*yA#UoSuGE0FQ$_QU&{zv%Z(RQB~l)Qy4su;^i5KOAcr%nzewAO!S7KABzbhdl+} ze%M@K^g~@u=I)9Iimt&AQAJ*U_{ME>j~^mb>xf@#eMsftei+sgIP2|)`VaY=4;{&H z;+I$2Pqy2WXXJeNjIh3bsJJ1JAL6MK!+h9sLoh#_m4Oh@58sm6^?qpgu(uzYJ#6&D z5>4jricf}m`N8wS7Juu~#Gzh(xX*2Kj~`0OB62?5M%`$BP#>@u*QMKU0K^|pA%AbI zKevYZ^~g*4MvuIx(UtA4=tyN>k8Exc$Rp#2_gbpdt^zz(IYlZ=57&R;(S(>73%!MULJYZZGDeNej|HHkGx9O(L6HO?@p0O zV|Q;Aa#yG|*x%f!N2c?d8+Fva#8dq@2ZY1mCkCddSNYH>)xEYZsj-29rgkCmK>WnkW44 z*=L*k?Adv$1jC-alnm$PhsBz|==-Ns_VvR<%>(&iSe~yRS~vIdgJI9^E(0N;AKH-F z^?q11$lDLo1{wWunbcPQRNplJ8vO9x5HCNx;!S(^N8@ zmnX_{B^~|#iORm7NNg6!6Md-@!@hlra*_u0M3xMNfS#yNhSz&y@<4A-j2vk6#0gSc zofAoeuE7%r^1M8;)NOUooY+V9lAf4J-30f<-86Rkz^**TiU)huH4A&4WEC=Nyk&pVV08_4a35=W>M_vVP8*w|(ITs517;A=)65LrrT zqZdt$oszI@cf}4udpxRrSf_Vm-Q0?y1GM`lk@piWr5r)@2wksZU&@V3zcQ&W=9-o& zsHysXiFzNZPKeucbP>~1ycRLN+x9JQiW^b!H2xL(yr&36Eh*dxF%tDHjBvFqjxJYe z+;X;S`Y%vZwQ70VO4QqSEy+eU89;kHVfgrj@Z`-DQoYo>R^gxq)FAUNh%^gjIrPab zl|sB1GLjl(A_k$>V0VK$AY4#;APyL7%9cPjMyF zXf&j-#S}SiCBT=LBXdf|F5tScP*$|aIGJ{2>gA5QXDx)c)^lRnS z2Mkg9U>`$NW>bScDsOf-s8QLlk1;A2(tuRtfxcCb%JDR#JyCg&>P@exd|Wk;h{}%C zix!oS&{JO-bcuq|5S5)(PO(;oshnz5uJXHsm(%*=iOL*GB`S``YEX);dBA=C;c)Ruo|ehZ=TQbvPh2+k-NPr|S6N*CDn1QKiIB9_ z@?|j+H7;*e%OWnbsBDPK2Be8+wS2^T51&j12o{%*-fxJ@LDZmME#JM*5SN>%K_8dT zxf|5bn{%HrE)`9U-4!kS=;QLB`)>x~Oky}$()y!|%QsbTdd20BYAA@fTubKB;&PNO zF2@T-LtL&`IYnGPqH?NnxxsH-7SamjiOak+-9tV#G(CTuPQTY*eD3e%6QA#Eg!KHI z%D(ZrH6vhrKGQQ`d~T;{Q?|RJobrZx;1=G|lfEh_!p`Lyq8 zh{|TvppVL#cN?N|EH&t(a;UpOjmih_Hb&(>Qd~u%SJk6(6U}H(R6ePC(`(gyiF_oV zj0~qXDoGiuD37ZrF8%E0oA0bFF4O4ynO<>uT#Q7G%aLkX z#AN}M4RQIhnm$-tEe*T*78-Q0xP0L*LtHMP27O%qey1TWPf&wCEezjmyT}jB)u44M;^Eyi<)!`O^EJUCM@wA2ZWio9aD8cQU)Gv-)G{zWpX_<4}1 z4x`>Z*{r`6SbF7#I@jLjR7pE$lOY7JJFD(XlD=$r#fk3PNS_dz)2p2$)k7Ak;?{gg zclFgy9gf&TZsZNyri3aI!)+CVEui8LgG_1(LEJ-JcZ0a@+l)!1~v{Pgh^NzbEO-c31p)hmY=q%KRGsr8~rn zr#^#07vuP0eF z3B7cG^fph>+(DN1=x+1Y{V{>{Z}@L-^VPkZq^JB*SBH{& z#N|%@RJZ6tss9t!hugMP!Y2w#1(Or$P?$_oNpMGo}qeX>RtlXh_ zqHK3Xs<-0D1j?=WT~ZN$i{q=EeHBmhD1L93D%m`mOykey?`cYUsXj~d1U+vjBYSLK z$6NJz0_#6q$e+fobdaQ{{I$19n;U;^bhfkhdmvizSBqy>Z~1$f>?YOj;`|yZ%DsN2 zjOOk?XSPyDCkU=kSv%nRe@)}dNT1hb=5-J;X?RIvSVwB5&w*Q&0OWY{>6ElU@7x&pMh;J6_O#g@| z8+@}!D6MMMpX3Mk%~G5DuXx&PuMZIyJqz=CS>V(5KEC-#b7I-uDJq>P&@ls;h?uxFRs^%LJ zpVIW72{#yg1Jz(6Vs=qExNq_z+<(i`e3NpEKi{+>Q+m&v8-#t-SbU$*zP>p^$%OsS zn^5Y;FmKiqx&L{yfI9Q|=6<1$Tj#w3>)$uq$ntvM)M{t&jm^{GmN-&MEZbeNzJty; zn**Uof^E+JxFY8bA2a;|#E^W?mutv@f#7Oh^Z z+f2=!WxFeCQ`y%`3n;n1e=j-P_@hfyYa)2zA^x&7koMFOe0! zSGOAE1HG3XZENt-AWwr^;>V&tvATt}*Lf+(>h`wI33Ei*;H7Ps2jr^YE0xF@7$sDPEQ({ z$2$q4Z?`Qc3atM*G@5L$_s*BC4c^(~X>dzyAtjdWuE@WoYTijBgUcy$K{&$T9fxW# z;hp1D*1Y5YT(CCO=UkAYN-*p_y@kiTW==2RE_HqTiO{~jNvHfw{(Vy~%hxyOC}*U{ zH~MqIX6nr2n^8g?wzPVo* z(cqg2LTS}ET}Zy>8~-!s5s^XDFmuk3*?dk0TW<21Ij?Jk^!q_7`+DaDWx(<8ow8QG z-g%wKJ>JpJoJ1O#$2(sMb=Wb zC>s)2e~JGpg^K5IM~lgN6g-sT(kJtY$Z0}pNIF;O^*SV&D0A>*m$)mGHfTetnSe>> zEtGWr&<$Qm=c$cGaa~L8hA?o_d66-~e@4q4mrPoY2rWy8$bjONKWM60N4%QWdGfNk zv)TL?Jv`>y1LYL=P8;!GWo0b#?P1n6^kAvnN>1M%#$Q7Z=E{4x$F~R9HS|ygPj~k1 zVbC@7P=ztv=-Wf@f3}DEzCGOT=^=2G&!;cTdq;V54__rwE)q_fuQ4;MNP*|wWBmWN z$8W@*<294`c#rYW|F*~He8;%!f7|0s-yS#qZ+jG3r@gJZ z=zrVeVBaxL_VnmAkJYSEHu}DlE*szu%5HjHQ?D#Yo-|kVGRT=OJH9jdW&_k^7)eDAXuQ_;j-qrr3$Nf{%xB8R* zYQq5bx>nuAceIQizVDxse%zn#e>C`qbid?J`ZNEObQ`4>HCm?4KP6p!70oF9oBG#i znOW|uOIbn2q3p8UjALDksqK(mb~(H3VyCiS+w=G%T}t0ky4>`0 z@yRYz`({|XOfAT;XHU(|sF6LjAj6S8)s>N%J#|b*GrDDaCpvW;W&J#-(~T}QZ&T?h zYnQ2P^?eR>DZRv9HQ!vY*oo-WPL$*DXDdJ0WvZDF!++~iy30zRkC{a*6-ABco_d${ z9YBGJ#G_;T?)7>)?(EUIyCb`6hr8R~eSek%x8=EdcgyZplsmj2uTx&hz~cO2uKc1x z4}JEX?K?T{xxZV7JF^}20#Ii;pi1am=qeu7qbR@7BmK4yfdj447MZAzobGhxAg4WDImqcmR}OMI(v<@t&n*Q_hM)Bw}z(Z~Tu{hPy8v}n#mIvP3B)2TJ*I=XU@)10mx zq^F~sYe;TZR{P;2v$9-89fvrJ+ZPuXJ4ae!C zYHHkAxJS=boHwk%IWRA$#8vFbbYwcby3zy=7;syjt83w~;Vxu4>O1O_=tk-7=t^&d z`i}aI!jaRtbLZ~ey9={43fI@d^9x;$9B1+1fsQt~IUFUf+^nn;p{t`He}JQnBOU2C zhhyLnXR)J!pd9gl<3UFo$A27fJVqwDo~|5pzWeSw?-p^@wfk)jpy`mJp?OV<^GD4A>B{R+G_t#MXkMnHu9VrxkuyXPYf?0Q z-SoN{Rw(z&# zZscuPa!2Po9T<@}&{b5Nm6g*ir`TCII4@`5ki3Bp>znfnOY(|cInLoDRXbD+Yo`_( zK?JFuRxd)MQeWQVXi#Z<>4eVUZ`K)N*$YRbnMg!fK zaDFHn=(~jTOVPl@C7jo=1Iw0h-pUSSEakkv9caFk^Ko{d?^4c}*@1_aa=zUTlrQD{ zm>t-&lyk%YSC(?_hym&@CamQAQY^4} zCFeEbfTJrpZxshzTFH6uIH1ug&PT=pcdg=lK^!n*73Z7dfCZ~KKNJUizKZipaX{4b zoY#m4lAq_iRXi}@dCq&s1Fq*e9~lp{UCsHjcwpda&bP+{FRbSLSUhlKHRnhGF0ba? zkpNVCf%A3=K(iM(@1Foa-LZo z7`vA9F4chrYdIfM9e86c=aZ`gpRVP6b#>tATF&=W2hI|Ib>M+@oY$xUR%?%Xx1HaO^wICp&;K z$2s5Z0MbuzUf}??|HyfbG@$QKoOekBE}!IlWE!yG6z8kcfL6b7elQIf^$X|C8USzn z!g-Gdz=2;lKa&Pr`h|0QI?(Ji=grcAKBqbFkq*p0&H1o&VC!klXQcz@PjkL89Z30= z^MmQYy}xpPCLI{}E9dswz~)~$Z&n-l?pMxx)CLmIa6YUy(CG~4vuXol&Tzi5Hn8dp z=Lc&8N6&D6rZ!ORH_q)DK#$)zZg#oSs6f!vz%|t01D1> zelP=Ab(Zrp8NkuAoZIUFHO_I~tParQ9Opgi08`F!KCBL~^Bm{1>Ht^HalWw*(BeGj z2kQWZ=Q%%92UvBUb9-Ij@OjRg)den}=e$QH)W3cVuoNufLoW02T z!FoX5-#I^154iPr&h44Npx-%fmI*xlJLmKZ?OnffJ}eWs^gHLXGJ*6CC<-e0-G*zPQOS$dWrL9^?}$wIPXy(X#EH0!|DU{;pJKNfv5lAd}Dp!z#p6+ ztPjwA<(c|GqsyGz8vyh%=3xy0`pWTw2I{sSuL3Be?}jqct|Zw)t+Ny$8S20MNu0+L zP5UT&$BCxMkZ!h6`ho)CTLXAt66aBRd{+;?FMzI-I8W5$dwK9<=ze4p=RyZf{+%BD zA^@!>aUQPc@9e>E1&|&DPnR;fN46MQsQJ(%?O@i%mjQ@>rzUcKGXpH;!`r)caF&|Q z2~2cEjE!N4eZAZ6R<1@enefGd^r?*UjI9O3b6QK{MVqDm|LZvvV+IB#tNEG`{g zw^GYAv$=uE7HVw-Aln3VOy``k#97wr=x!%E)BWMLP;2`Lp(coaj0sq!(QmJup2ihc zoAV_}faNnC{T-!d^O;z^cp?9Y37}WAR)ql;$A3KIBl_7PKJ+#-@XKwSFSL^WV?6Zg zI9D+p2kGD14BXp;^B0LeWUP_?TRlD5vA_(xR>pZb*=OkE9{Qf8=0~M$l3Q*D*7xT8 z4?AF)sH3~9G-Mi^Zkb^=AB~XoBzKn?7?IC;T?MctjrYhMSZX#MR|!e(DKp@Di1Tm4 z0ZVfoojSggp}O&r+++(-dpPHNNbZJGk6htT^BaovdnXG}T*mpM6dxybboZ8;&7q1; zsv4gz3ovH{=XXT_mb)f+tmi8zl7h)fG?(Uo~fS?13mF=VZgDeTm`iu1GX`Hvx<4ZjF@(>_odSL!d zA%J7Le}2;Q3IkeAm*e3+dW!Loo>xKu*Yv>qQ*tO!IGuBn>9&84N6*%wK=E|WN9*w> zb)Y1_Zz!;TI_LHE_*@VFm{8#JAmi9YcA75z7dV-fUK&a7N&Lppg~mJ0tLTvaP_NAbOOC0{v%jUP^j2)ahaB=2nF4R!;Zm zLG;*U1=a-7<5MfJDG2|0E3iBWe|#9QZU*Nq^nNSy_^m}4uzd#S*X!|x9(>O*;L{m_ z=dCLYI2we%JPbHHBXHbp3Ii?%urt~3(=g!749+|0^?Tf--}x{gex`pvi}gPYFwNwA zDEa9|ouBS6Wz#Iv%_ez9ql@CJAPi_Xlk)^KVCkfzFA)3aaoR^ouYz!($?U-KGc6pT zZ>|Tj>$-3tdp73|{kR_RjBCHd2Rd(_3I}eTtpNarpo6UK;UcU!D z`q^y2=GmOL(c?#Y@QrN1=d=Brwz z%;CJbz8^wL`7I)WPv>x+qQ~Fw!S{>=KAyul>Ee#F`#gA8ByeC(;5aLf1oq4ceBZMv z5_ow|U_X8u32d4ZI8M)3B0oMVxcnATs{9-E<16-zuV)mnZw}`T_4q*^yekU$Jcxef zQNYO{_SqB#9G}B^2fh5qJn}z{0z%6D+n3_#Jl(LCbKYCe--p(!QK}H>=j3RhS$SYP zw~hvymverdUQU5WkG|1Br}Dsl91{&R37{v%&Z1}_vz+rZz5Ko&`CFrb`a$@QL<1Q? z`o9tlM3wu$|E7JQQ#4>I=RBYGfib#uy_fGkK>B9eft$;N%zt}ueW%%h+Cl8O&JMIF z=Un`0PCE||@z`U(9cW+fe|;yv$J>Dk<(!w%cqZ${^FXP2gzg*^9|I(h;9UG=MC<22 zo_<=y0If%Go}l+j4;4@SjIjf&%jNyzGF?A+l$uS0)Q*U5g&l~WE9qVhOh@AyH<$C- zr1xF}U7knYc{^}&uDlQX#y~gNLzf%_+&fRwoexacDF)a%k8}E2hb3&1=ln_I7~+vv z5Cb%uFX>VO)0M{nOXhR_6v?~ZK$q*0w>1W^E|B_lG0^G8aXbcaEs*jaG|=hf*1bZ`jRjs?$oV9?e_W)aQ|~u3^>>CuKP?uBdPdUks+@jn zEHG%1q(4}avb1T%6S>lxAviLV5HBE14b{C`sDi1 z`;2!?9Psh8QvNg_dLQ}g=x;U8N%~Ed(;tZgCa#e5M=Gbc#RJDyaz2ml<1J-I`&dkB z=+SIe&%g1&t*a&dt(DUk!~^TrNczc@(=Un#V%KxNfb`kxLmy()XMa2}`bEx{5xs4S zQU53-{grs&lx?T)Zrx zt*2c|%>!(qR$2$w(cjG8;GBL7VTqsW8DEa~I`e4)uv4RJ5t!~u0?=~{=Wmd_o;o^u zR#@a&XELe*C$@0@CegWcbkuLYhc3GsF#1hNS00$oRSk&R$~irkwrtYT_4k&ys2Z?b zqx&>4-L7gt%eOe+O!Cg_=pOX8%c*L>dv8ho;-`7+*RRxUddM@5`07BPZBkwf9i2g5 z>*~PCZBkxO9i2`d`L%ToVC>ue&sntYO{flxe4F!UXq|C+%kf?{)Ook5I&gfuq+eb+ z{qgERkDZeKVCD4jHGr+}aK4iCxoV*IS|wF|I@JK0zsvbzqHi?a%dXz5m`d-e0W5n@ z>eI(S@3l&*^eburwmnk*WCOj|DyhkxA=bem1;PZWf@7p^i0>}0RzAwy81TF>PpO6Tc_6O!)kq9L2 z58VH*L?9yw|M5hibr60F{mnTDe?}6}F9?69Bw$Do{@f&BToC>VNx+mK{40`xPp2+Y4C8Mr+N z|E^?UKoI`p$-tN({FYikc@X}LTEK=N{GDn6?*-w{tpywl!at!Fa487?idsPIfx!0L zRSRfvAh7+8*8(~P;kTp!eS`34qyQs=@OMf9W*i9o+%7i-SbiYzbGr!=ALzN?3VP=v z2>&jL55#{w1=t&e-;%201Mz310!M@Jcar!({JE*X*&zHABt8)Tic}!v!@&02CGmmy zkJCFSLHI2W6(5K{!vQo2!r!S9e6GX?l0U%#boemv^YRrAAp66>@wLkV^bf*++yOik zgx`_|j19t{kp@f-!rv(kSQLamHw{=7gnvRBuq6opiZozX5dK|hz@Z@g$J2oCg790? zfr~--Gw6Zw!NB(Kln%rn4D7$$bfEn^fuE;LNC%wn1b&{fA|0ssPR+X_{f4ZZX{*WrcW;Wq&%*;~?kioAsWHb7hxOhy859jchzaSGJJh0k)B0DBI2O zI6KPll)^4BJg2Z}A$V0`&xK&O!nTCqOND(Df}a&u5rV%I#zQdE#O8(KSrc0yidRf* zS18^!v9Ch$nTeeV#SbR-q!kxT>}e~WG_x12m}_RctXOGgUt001nVq)cT{9~U!)Io; zAPhg4+4?YCFteRuc+$eY2*X?pI~9hN7WPCqUbV1!;dqz+j{9Ob0}UkZdIsFn>2(Fq zDh&9L{^MM^KASyn#sr1!GGn>I##!)^()*Md3r*~h8LLelPnk)paTZK4w*yv@NY0g* z#%vT?vmxlhMq!4O<+t%Y>rHH2T?}FqZp0*oove%13j3fg-c;Duy7)w4YwO~K!k(^+ zv!Z-ev`;Y+&2kgbe{5oh>*1n_ZK;Q8X11yxHk#S&dU(&wuGS@U%&v#yqWzqiXl7W5 zew&5u&BS*Wwk8voENosT7BMzH6E8D%x*m3j@^>I9e zO{|Z}q3moXmV~mSnOHB%TSKXRUntR>2qpS?R<@=AwpiJe1~_PC7whA^m3>zqQ^MGR z`dAo7<<()-{(2bEd>lsf(HINuY-MA- zWoJ({#wT|6S0j8U%D;*BaWO>mObpTQi(&6K!LKpwg(i41md$N~7h>5HP4IRs`=v1s zi1OE>{ZuT`Oo}7=*W=h5P4QJ6Ti6u8#jz)wVs1S9tqIn~v#*g=Ot__I2Ds~M)$pz^{R)V{g~(Y#ZGY*=2CUAhjNYqCSv;XqBc>pGmR z$u?ex$%$;yb(o(>9q3bcL7TbJ1R@GuFuE*Y5Y}WNSR*PL}j$cLjs%W2{LNu#W zi2hIt+tUJ9QrPMin4QYXTi~@+Hm(Ksr?OMm<10}{>|jg$l)<*P#P~XFbxS-|hsw+9Q2UE@ zh-Pn{#0fXz=Q>S+g*U2;&P4M~4CuqoM&dv0vq)NZc12>9!d{8Q8wy(n#jM`sdM6-(#{dvaTwqrpETWZIK5H{70k3-n+ z(WnSv-$&zjQJxq|?Q=tkW@9MP9}8tK#$bY#&5Xg*R`#bI+pO$IJ3h6tPweb1ktaFVAJAo zAcCEW#g7r}P%Ng}*sfTtu(6G?ctwhPBb5jep#)e+( zN(4r*!x7|*%@KH7VedzfM}CgLHia#;;k3e@j-F4lB_du@e2XFm~9EjbUty9q)y)Rd$>VW3%lT7tXFmV`ey& zmxNRM`f#Gz6HfHMhBI!*#0d7Y9dje7{A>gR-nKEIJVrI`ccvB$=*8Z#VFX)cLz%+n z+Gx|BV8bSbor}PBQQj}w4=F@*Mj`TLCblsWyG(3WB)%}QD>hs*v7c?2VP;?0u-HuH z7tGYY*-SK_n2EmB!j?thc?%mCg|{s1R3yH&utSmf-9oc#BBSzLM(ryY(Y(!w{#V9k zMPp6~I}?Q$LfDZgd=SF+MB)1owkZl{Mfr(PYM&KKG;2eN{;N znVl_3#Wp*el8VE2b}F-|PQ~t#Ljl1=&G^~kdI~;f?o~?J_$9T5T zfpH1!Ne5;oP3>;HMTen&s1Y&X?VLDyWqf~YV2DFeiY@4qW#J0 zM6;|q*=I*}inkA{vv1PyW%V0?^J(g$5ZA6c@Mz;{CiUR{tVwPD-PDy`iN-i3@!bTx zqp*2){GueTjl~?(gY#oiYG!ZRG0)7_*lCk{(~b@1o94&jFEjhzjyV?gp&iRDRNi38 zn;(mHj7^QfPR4$><0DZ%##+yh#j7Fgl^E;`VM}9hSd@PXX*fTY&ck2D;GIymI|d(% z^0%S2=Eq{bm6gU~y_NkMgRP>x&&uY<(ga@{i<4HiH5Mzv+P|BC3E}L;IIIq5Gvlx= zoc$S#@50%SvA7h@K8eMo2rAEup!Ss!M6*4D=#NFPcN6eu1p7G-3vKM3IIOm@FXHgJ z&GAwK&e+)acyL>-#R+&dk}ZtKuE@-?1Wbxz7vixtihUN3T~TaDJdQ`P_3=0-%HyM{ zeQ`9=tczx433xM_El$ARX!cS9zKo_Ge~7*gIGmu`zEv^<>h)e`rv2`SiOwD~&9ok0 zHPL znHf_Q_Ntk7)V*e`QP?+TY*E;GGxjR1%!0!TTVlaUg}q{-e)d@Cmg#E?=22vvm3L_s zrsfQ2&sJ8$!|Y2tRw!(H3@v91V(55u#*R}8n-GIP6}B!0FPYMQO27}M)}JNNvc+TY zi8<|y7+SV|j=>^J+KvSLXvtcVfVHgQlmr}O4KK!HRR~)Xi?>7AyjZ$#S`&+}L$WT$ z(=zl~EZrsTh^1}yvsnBTO6}XMY+M|^u+qWegeYIIQv17M?Cm%l4P$HL@Ov1WA4dn8 zwQ-mmPVFngQ!d8i>u`25j_!{>kE8pelW{1IAl~mH*s6F;w6WRoSZZTe4q$AL(;B_3ak@+r~&XXN7-<1rzcO-aCNCX8x!)P&a*_JIjIm6k_Mbn^pD@TRNkII1e|AERrl+IgOZo=H7# z!7ECe!xnldw3$}8CCXt7Jq&x_f*odd*n$tt^mLBX;GUwm=KTLp5*CP2yg;M4<%k92 zOl*q<(@aa0BNn`FX8SC7$IOmc@S&OgV!;!%YR~Z=#WEq`C6aL4aSJA!*iH+|O-q#H z7QAg{pIETZ%#K^|g_&Kjpo}Cu<1OL8x8#36ivL1FGOe0fNsATqWz!Tq%oZyc%|Opu zg|{okCo$lrq(urIU{e)5#1<(S#Xu9-!+&$q5(N*k=?V(i5(Six?6s=mX<2EVv{XSq zHbcQswp76w2E4BESB9qpUaO>M6!c+J6y&pK6pUoRD;j?~EpS2f`!D$$ko=Ccm=!nq z#e@ywD6>Tw^ot2=OmviagI14ua`pH>p#IE+;#R+#uvuXzOxUFi`rU+0CN|lOcSw_E z-kN-1LUFTSP1vZgqb6)s2K{QnIujdb#+yXFz?=HoMtNF)`2^>3oqLu9?3O|6UETJ)Pn@p3L8(-@(Kq!Yh!)m>&;u2||6CGB0yA)zWl%O@tQ zki*92JheZqy|=8>Z|dplFJYL3TK`wM98a#w&t+X3*BM#g>QwRnSJ(E%>iCUUcj=dY z5*A80R>Bz)E|GA9gxe%MAmLF7PfK`J!l*)ZoGB7Ek+7|V-6iZNVWEU$C7dDQ5(zg* zxJ|+X5+0TCw1ihBj4G1-OV~uhwi0%iu%Cp55{{K{hJ;Hb+#umL2@gnkRKn8|UX?IP z=BrJSu!)3iCG0L?KM4yZ94p}r371H?LBeek9+2>;gr_CEDq++ka{LlDk+7|V-6iZN zVWEU$C7dDQ5(zg*xJ|+X5+0TCw1ihBj4GD>OV~t0<8@odj#-Y(UIT^~x`sE+&M$Np z7dcuqxuHq(#;t~n#uoL}y2yg0&SG^gW|XKsBn(z%-XvF0kv$H;9kMR6{sFjO)owD%Jb?6(lf01nuz*Sk-`nMlb@mf9IP;X(V-)gA$Hq;-I zb!|K&4frXB`XWPpgRE2bGrBr_tLjHt!|2-by;`SiUv$+vuGVD&M%*UrB8wM*VY05# ze$$U8_!5t*ZN;4>mo}Mfc>(r^?yRvHGkZG zMwO@Gb7fr{{{mSTS&aZ}GteJ0(A$1fztU~}^lXWeAPs_Sy zpDVI1vIx<9JFE65vIbH1IawE3f&iqP^VX-MtZV#bvM#dykUwNy9=LE=*6EkBbX}Bn z&0hBNs(fvIOO$nOe63|&v*$1a{b&RIB3T#NbpU)K>mr*Dt%tI%$!mT=?O)R;Th>K( z8~`&6_|>v5vft2kQRUb4O_z0%)rRaT>)QDG$-36xNLd$IY5*)W;5Qlgx5>J;KYT3f zlx2pln}1jJ(fr+2*0ufy%DSdsxva|%HeiRWYw?|NNtH)gU;JHTEPx3!mO}1-8zueK zTU6=|^3Fkd9NfXUV#TFE-#88StMP@K+7^mRa8N`^&l}e}MtN(}2Hh zz-Qd7%G3D!%DSfiL<8QqzHc+&FUq>Mzcg#@E#J6*4Uu?_ez}4EumK<6##>&ttZV!e z4ft&a{3QdvSzA?}#{ZD4YxY=fz#lQ-<8Sfi?=I^a|3q2W*5fU*uC2$14fv>bsyq$f zMAkL_0S5ed1O7Dw{&NF9yuG*l2C}Zn?`Ob|HQ--1;6FCtLppfNH||Gu4ftDSUF(0e ztZVz}3IqO-0dMN4_NVc;ly!~2zX4xvz;83)&l>Q_oxJ7ukabP|XajzO0e{GVw{=$K zY5c~EGR><;MOuTd8wC^%%PV%eii#bDd5>b4z9BcSAkUSDm7}138iu|DljACO=DSK- zQ@L$cRzY6jVAl|QtdVHK#-Q$K$S(rvzIY-&!&01;<@4zl6@iC?F^vtxwb9Mh!&&Sc zn&+Y}B(=K*pI3?Mia)B`@?0Hz^yoQiSRNYvM;n$~au(s~GcdR>05ZF%aPX}K&cPTT zfIuME`yy{EE*d^e$anWvf0e>Ic!Du}~xa;%Bg+3}Hbs<{Q$B9<@7LdDb<~Yrs z-ed9&Gci=WI!>pA`sE&sdqT+VK78nayy80twJ#n#d}v;ws|3x*Ys6lk;XziZU?3$* zI*jT((v?>zzRQ&~K~qNOEVm}QHng7r40Yxg;^8Od6jndk(^`D#X@IjNe;|EdD!*{B zI-ebFv$DpjBzQ_=(WZ2pHiD>;LooZS1+v{)P*60GmJ>}PelZG4`O!OXvx*WJ2 zqSJkbMycuE@b9UfFiH0KU&`5|$&uzaXf9%=ZB|xE{^&ehsv51+h31nhvxg8kpi(lY z3yUP)H^s!s28;od3U zqYmI-ZE7vo$aC%$U(m`K;4H}tWGbI|70{$Kdo_vqLx&Y)WsTKWaq559t-B){31X*8 zb7@Y;`jQF{oJjDjTo5K8o=6|M@cvL= zyGj{!(r0SKUhWLA82NZK0G-2Y!idG=RjnUst$>_jIC;g+lDr(JD<`io7r$z({{t2M z1YYV)ASY*V;c)s=X;xNY-lLvHDVW*=iwa9z#lr`>P%zWmW5LI&`+4Xh2luuU%vodIRG6bNYWn}9 zd!cTXIqdF8TLuF}Q-ij+d$zQfTTi2N=rHX@Vx&gzH3)-0edfFYuPxv@o!@rL)pR!S zG-!*sIht<+(5TCMTMV8PWI7t;s%w8%mQI(Q?tb*!RRA0Mj5PqA_xh%Wt|p&qsQ4fD z+D%)I@{m^UWt*Iw!lL4#&VrnLm-_4{kp9|bmG$7q3)d3o=rGS~WL4e|bJbHj zR(bRPPlD7(C@#&bY%SCl3*Ca)X8zwB>R2zMVBp^rqg%FC%r`8L^s(jEgPa8=c@(NS z(zpSA-xd)If{ewmZql~kJ%sD7ja#RA@q(&pZcw2?TfC}q4t0)fT~Jgw*fG4YB!6&W zUalj*(A5@yX?ShR2w)R~WNjnqwa_Ob0xs`ao-GvrSs28Sl}pIOR;}ZloT0Qb2R$n^ zXp6HRda>M!X-a34D2Qp_|O{qXp3hnBT-ip{2Wa4Ac5jN^I{eS8GjHd zZg;g`q>a9#c1IG3FJKHg+G4s}OxH?dwvofVGTo!z?rm{%=M+{Y=FfQO{l)x$6Y?V$ zOM7^4p43esyJ#DvZ-6#vi|;jgIet{t6czT6<}G#><`xajaSj}qS5o3Wo8`EigT+#= z8}HxJ$GJrFx8ZmoMyNUF9~yjzrC!mQlT$c+XkKytK>7E>ocuyp-r&4qb@`@Mn>MSV z`GvUaZ!tPYqF)sm^_>m5Rvza_JW@p--;GJ^$N7WvT_t$5ibCX{S#xrz=f|qZR5GNf z*yUx^C;uL&bENq5ac-RU&dR=;3ZgFp-CRR*v$EO`ADNZqD!NDf1qpWrXrB|H{gVLg z3BUW7e_w$1g#p^X3eaBbl7IO*0otDp(EfdZ_Bwy~mp?B+d+25V^dkeb{}iCT&!7I~ z>l zR0Tq(3nTrJ`P<@!g;!UV+UdfN2HGG;cOkoar1!{z(9@r${ZZ>8ke=KLu@kF6=yc&- zjZAxR^*3LwxGT!fD5PF$AiFhtqDrJr7q$l>lp*XEdZuc$P8XU+2iDXb*>1TxRi$>i zu%t3tqtXYifx+oQq&=|aUQ@xXeVc3HaJn!i2)*y*aCfurn%SH#{9GARkPee#0$W0` z`R8@I(8s_j?;gDWkXr7SNSh%KJct7Z0&S@_$g#$HtErLcBy}*5xR+*ws4;=)bh2JE z&`-> z{>XhJ&1VeTtIDVA>#~6-$gW_Blokozb_l|$>#xusmtkKqbhNq(EV>@P3qtPMAq;&a zSMxI%pKV3g%e_Gubjz=yn^{%k()F`92#0%y&;n`b$x=P=fV}v0eYLHOC-A^VUIVMH z$Crb!c}*!lBRq92yt+Q?)~LiXm37?zng!^3f4VYe-+At5?4SNUDLOsI)l~E^p#*%+ zCKq7wh;7QX@;FCgP8E54hpl_+wXljpyqMQrQzp1S*#p+!gf%V|*fk>Dy}(n3*bSvu+gNsa^uiepG-tXC4<|(Q*M6e<;9`QvxibPhhg@%j*g7TxS7R3=m+|6aijX zC&0Q-1lVvvfQ_-Wi0|d50=#mU0Goyi@M@U=udNi|^&J9i{#t-HUQHpsEguN*=4k=8 zMyFEaTg?R6_MiZ7j}l%Aimx01lZGCfcHlWuy>IF`?d+N z|Cj(D{2{=B*fiq%u(<#S?-Agm5&=FgPXofMhbvnIj8MK1(5C#6286~B0~A){##$Kw ztI=w79RfGas{=&rt^+6w%z$mu^?)_ptc)=Okqcu1Q*9_w7n6YSP^G_Gk5-5(+@dJ< z)VhEYL+vqj#83ZYTSY*GeeC@Y14-#X>~FmQl7zSecLPe?+8%&n`Xm&nc}ugpK>TbQ zU@;G?Farq(t$>nXjRZ^yPu~Vu5(eb~)`aQ#fIXpMQ^1i>HW(N;&I0Rz`haq$1*jI< z1yIZhrt0m+0p?^=<37L^8kAY7{%{;%u4Q_@6zCi$nrbLSZ?0idT3P`6W34HpOSBR~ zjWtb*+F+kyR};Ok#O^a%11#~*QUQ91Xix0DLe!kw1;{-jK;F65KtyRQpe(k)k2S!O zau(3sN$NkOEr9_g0t}okK<)|w^0o>v=u-g(|17`|^DV@XUsr&Kx(HC1CqU6O0Up^P zK=DBVN-ha7+}@7(Mq~=`XiEV`b{F8W0RoI2CBWlz1$g2G0mknX;7R(WK1-TNKlo)y zlOo##*3-iQWjK?o961pYKc)dnY6wuXRS8fd><(K95Se<18bXP^Qh~7SHfl9-cPtRr zO|4lIQ)>cY-PM{sNg@8Q9?HiIuz!9BIYGAdR4%&PVvdlg^cFzaZF}#aZz3x*P zvS{8D%P=V@!jQCq^=KzRX&s`|-h+&b8bmRA)19=KpN|2Qz8c|IU1*r=`vXb{1+N_D zIU43ey}X7wS*^-psx@txYRxmuH$nh=+Pz-G{My|XQ}15)Fca?84^yys4U-fUBOz^I z{i_&IYKO{UdL!d5^`c>ZQjL~`Oe0m znXOt|j3w7?rL*)Ca(6HY7B4H2g2GCq4XnFU0Hv!{TFDz3H_Sm+TG}2^BG#G#CEp6f zhCB&;CW7JhZh-Qb*0wK)hTh@^KzT}QJ0jYucL$V}TH8lA5#9L#fbxdcc7)nOZ;1eu z&>D@Yzed*s%J+JFt;d?EOBj%%Oc()}$Nd@syhw_f!+;nniT_}F^%kJk)Tl5Z!buU^ zFwF02WV$Z_s5PY}(Y-;P-{YSyRSB~J;kSgn-$<^aGyM_@!_s0O^VjV_%ph9!QNyv}?4sKWHoz zV}ga|ZVc7b{~nwsSf0FVKzHmZ`abZN!V?0i}(`;!#D! zphNk-0}(Byc`-mE@^nrmIFz4i64ACyK$)ZwdAbubAyqlv9f%oaT0c=8zVbFv-ZM$9 z#rBp3oiT(4smg&8Ahx4Y5GMJU4T$}~EcrBR#=h4FVnsIyP)(YmY$R`f^gtcpmI6R& zVw0w!LwyW2iT{wQEY1L8nkY&=z&48J0Ch)`+-(}9DyuC(Oh41Yno_5^HlS9$R&qjC zWmL^>24Y()C)1^bul$b6UyKMnWS~6M8?g00c^9Dksf~z&TeY1-F+U~|cTJOxJ&b0$9vL4;!vB*ri<+F~VeXTG`+Ev`% zMf^av98W6MvH)}w307^HdSms9dMmX}y_I@fy@%Sa-b3wFZ>-*-Td54iIiLj9*0i_{ zm`mqQx)Y0`5;BzB{1K?Ov2|BE!vo4`4W;5)^*_|(zDXYU&EmKp@dQoan$c1%I?N*O z13FE`jTuM#%lKOWo&VSaNCjezO z(P>jBwmcu`-;Ef?QPRX0H6(3-I^-ETX1$|H6UQv;v$S{~(->&c5e#eZqhWN7rqkIk zbndvUu~7`e+JyX9-7b}&Wk|41&Ld=-W`NQ{L(ES`>HUdgWtiZANtUz50%P(}%g9S2i?L*yx)K)Lr zfqJPo6;e~?a57Ge!}OaSsH5!dNmI(S@P0X4DqmVq-`c?XhaG5WRzhmF0~+m0wDTn?&I};3gK|d<-4xM1jMmmk$#u8I z(A^D^l>S8ART=9>$WvB|vZM_VnZ11=kVc+eN)$6lT+AcHDhcjHAD|HtZ1)g6suDaD z14Qe4@3^=)eopf9c2)e z&;$OQyQOzM_0}ZTX&j!|lSfB|Nn~H{}qM?CR ziJ_Ja{1Qn-beAn06n(#NP+vO`{UDjkbT1YAkxEI*YfXUY zJmnPWOG3y&qHVCk;A`2QID4(O<=?fviENx3s=Gf99jKne*V z3?T&&2%$v45Fj8*m6n7MS|WrVYJ!Lq8^NyV!)F%@RxGIa?1~Kw`fOP7sn6ctv;Eh1 z%DpoQ@4tRoD|7ET``i2Mv+usApL0zUIApVRR%qv?00q4DL`B~>g#RVm${fFp2!@qFD0yy>$^4<$Q<dw2SM3 z?i>WbNqpW7slWhYJQz5;8OZv~YD%T`Hl+fCD2GFQ(oL1GmWaudfUFpcG;u45{6Wax zp9%~v70h*3>$5E0`J)=n9y@AD0#GVGCiP;;%V9!AEfw*pK-Oi{N^savMVE-R+kvbf zWN9Kej_B$Upl_)kW&uNF)shwPaC}m5ura_y3`br>cpv7WBa0t>QuyQbvmExh! zf@6{asvv)u(ZxX4ERR%{BbAa#ril{qlK`?7c&LWp_+_AfN*lz{3LvXWv2$p%Eh0^f zD+IFsV+oFU23Taa&DBuh%>uGE2&qGwuo>DU1P4U}%UN`kigkm4tQ(}ghca5W{CS6v z&HR>%mxy>k8kggzE<#zSR8(0&)-$2o8d8B}&8!TEDYLHU-$MkgWjK6etxnV}Pt{WDA0A4V7f6 znAZYi9g)#&d$iTHR7|V~vW~8$cd}K|9 z20Z>Kwk55r9e(69ZXBSWiF7Drh}P@7xx2lI_qFw;sw2coS+UCCH^Y}%95F-&7bc!d zYOc;vW8&1lKu$;pS0*m41ak64c`A9E5`7DSoFY;02Rzv=BJszrKu)n}k>RsM;#b3f zoW5ejFw(b(#7BHU&H!<`3~v{SD=2QbI4za*T_SOa1>{r+z8jwG%SGZyhR5jeUXeJK z;jub=vq(IR;c+^=UnEXvxKhv=J=qV4#2p=hoC#8UPxc{^_+%=OGf_;J=|3r8tr`Yo zpUmglIky=|>j4gt2KQ_QdVp`7m5pHEF>WX-nAyS*RkX70VBfHi9|JpY2U4pAIs4hU zlUs8DPBaXQ%ANL0XJGhgLph&A^6-{4Ab0jGmS#b_49K0rx1Q;JG7QL_^HyhuqF`N= z1LQ6~+?lV?TNOZVm7tP>lNF}G`y>&_J#NYPQyI@6glsx#i3lXIG3Q~CB{->}iY8fL zN?eK9unoxlN%3>OL%yPW&ychtN0QzwGWWHT0U`cI#IGbl(hwe z2-&oMi8x~ukXx^CoS11-IxBFA7(W8YT_7DsTt*mw5VEiC0u(4oXH^2ZmnuomIg;dE zc(T-^L~Nu1epbqI>LN&(&}`;~~w(+@ipY7d2x4^z$Zb>) zgR^0(Mq+)Vo@l8^E(UThm#)uwGNmJPi&C+6Fp#@fR<@ixa}`6W=$HlMJ|bzHQH!9x z#}{;$l*wtf2$?@n=70FG1n1tu_)5gmk$lZn{TY>R7@Y?jU>riWFC8dIN(W9}c_s$+ zJcpBa!BhGJJ-3-6;@lLV=XMo}3ff(Po;y^?4&FNf=($sc;)5@D26~>WLjK^4#X!&V zR46t0Ts_e9d=*Ly{+t2yyg-Gz2Ctn4^t@1oGK1Hx2YT*io5IS@3m%UHdR{~ix3Y^+ zA~xj%xn0#$c#-+i_MOMl?kZ^~PC2@El6gj{m@pQ|y^e_pPDZ-MGJx6Rf!vFv1Wr@7 zl~5uU(cF7f($k1w8z>;}!rw+JR4U%(d%<281gAOOoVq%N%g}H7pUvp+v+F2Xbpw0mhkG`Rb!Y+`kma9iiemRqN*6aK5`7$Q`XR zz**e(vWu#L+)9Pu1aEsp4?6fnh2Y$;Lde%q>sQ6nXPSDOIV~*pU}dm{#Z8MY1F{@K zy4c8(b7J6M1m=h=#q&I#uT0Xc<0 zZlcI8)BsLJhY83KWw}6Zi5Q-%0UWe)C77Hg&=a4N4M;hhr4ahrk0S9yA=|N>(sqgF z*-xLw>Q2apEGM7aB8oe5fXMp#r)Sj8NY7(5kxYsqH>`y9=e_+k`LalIhSIBCBRcg0q>H|7P{d!V)Yon$`|~Wh!m%g zD72Yyp)GQN0^Ww?ZAeF_F`D?!30|N&Zy=XH1h3x&onJ2-OCGx$Ltx1d&kIe+~TCU@=jF8P$D5LHrgq;9{ z>|1&O*3tDquS~v&#nBw(%^biLCURh%k$TLjaF7{5(qm2~DNckMb9%X3n=z+~WP?D+ zF7?n;dgtmPu;OA5V0SJ(%wg&Oy?#ZG&-s=gNCr;H$pd^z;?*?(xr8YH+eE;ZA}HF* zhR5pP2kaUS1nF<=!T zD^Cbn-U#^Si{q7qT;@Qe&U`;mAsQM0-&%2&Oz0s8LLZPn2C`Ayy@^uZb0G8$`C}lP z#oJy&cmTX=t^mfc5eJ?|t#@G5(YeuDdaYd1XFvJ2#AfS>j=;ktJ|50FHvssy zTN^rR&iBJPC9%~?O3<9Yg>ydB3-CQ+jR~r9L8Rq7Sy4?Z-xJo5*_wD#IFXY@zGto1 z`)lIqF0oQ9tOVkktzS2A;Ts96M0K9ChWI|VdNu*#qDTlbM0En-`^9QKQ%m0;F1@G( zi2F$#;rRbcZCESCEG~gb_N-h6h~o|w8KT1?z!&tCuts95KB`YxUjH2f_e=bkkhh#Ms)bOHY2E0kQ|T{bQNdqjO7LHxAoNs&iaMw4T$WXW| zqBbtn;@)zx5~i~%#oZZIGFHR9MUklz7Li{v#4Qj5hU)yD)P^BE(^B|bQJZ44@L4Co z8dblEdiyjD+ujD&E?bEHI#m~)ce+?<0`0z>Yxku^f7V}%eA9(VY5YNkg5^b5+gjSM zE{xJNBJLdV-#HqQQS8{qZDeGK14CICL*;8{uqXWn8tycfu9uBFS5(v+!=;JG1r}`8O}cugWFymEeg2` z^D1k6tnvkqc+BNE(eoNDDqDcKo2`W*!|~mTINXOYT6E@ygiSHKQ%tWXt-mP==mV-1 zHeUSJ1&F)6Q;|UpI{_*~4vfSdu^!3NRrTWjrdm~|c9ce?IFIdu7;6;Qg>5HJ)t_w0 zAw&GiI{4w3rV4=CiW?kB$Pf>*ANN$uu7#TTk8t9I4S?@(%$&Z!*{qvC2q$tBDDIdQ zGfXQOcao!^V-%^S9x?KL9<$G&oR|qH0%r)=7`j=xL>SK25VT03zK%H zX}Iu{4ZqabJNszZO)e}vQNrT9o`yONd(DM8iAIPlihVjoWB+>stWG&D-E(lGhGh+K zOcSnPbqByVAvPyU!zx@@xPpYm6?)zss9`HzSUUx!$i=a~ks5o|39xJjGUbi2HG?$l zA1*9h!KiA$cW&&qQ#9;fE-YL@!s3Q`>P?%q!$2py?G%(EZ;D;hS&JNU0xU8V?4j5| zs)p6Nuy6%yHnFuF+hnr4(}jgANLbt?&x6fc+Wju9oq|&2r?LKAjeYL~SoU=&vdU9w zd@yQ|ljm>+`E6sL$F5tgrS*1U;R+HKx7ZU((y(bRtet{VWTt)93XR=#0xU9=$Y#&^ z(>3e{7Z$GIz)HYZX8T9$73POsm|McAL1W+P_JtumX#BMcV?Hz@?jp~_t2H86;uypc z6oLJ_r?5(6C;l(2%W6`%*K_}L&9&U+qLB>Z3D4HW8gY$_aCMN_9w?lsTc3XN4g z%{Dk01PVA>6ta(&00mrU8nV^z(OeGUsox(Bu}~7#Z}F?SK$`D@A%lV7^!|YFLW<%z z?`(F(cBzmZ?7@+#R&Exvvi&Hg$TZ(2f0P0V(Ss#}=zFLa5ZCXeEHm2I_ssh+Ekgxl} zs~2e6i!LowJTL?B9g1JdtpSYZm>m}|7UlxJC-d*{P+#iU`vigivqlejip+Ha#F@cOC*1@V2;z8dz=`q6e1Apa+(J@&b%^7BhBS=tQW2 zBD5X|?U%E*+(M{U z7jTCmO2r4AfzbPMSSmgw?HvXLHyf&#s#I`oY3Mfc3*S%^UCi~}B69$z zkmVpc%O9QBw+a9ui7|O@OrAy)Wa+N37 zS4k%#jf%)v?%I^GDX{*k1hSVtF%(D>gUW&Iejc%H7!cqOLN+&gmWq$(0oh;32hH7` zidZ6wM*!I;sr5kI?rGw&4agp-;<^7*#g__h?acm0is61x1AkyFkljJe_;Q1&iQhB^ z$nK=XWSaN@?+~(?i4yTXSsT^*PVOdEty`vGge=YkvJ+&U1UH(hDp3~WCF0L~Ap22E z&QWsvY1_q^(g-DDWFH_qMaf_uTp0#&PaKf_naTopuF80|sFcc}L=^M}vb(Cx{M$kB zj*o3PP@rs`wJ|0Z~oL9^4))?SVA$ zTLX|i+9SAE*1T>Nqk-%@<)glPz~f~a*3jq?GN6_ zP!{*cSlP+Jb?HEUcZ#sGQ`B2>!O8k9`3t9w8gn{|Tdp{n`y0>X0@Le59INb-HG+fm z3`BJkkDbh2up`ux_UjmzF5Y(HoUH}*+kvRe2j=RQ!(R>}&~pS3=*!P1PZF<}0a4vk zyt+13Pl0<#0=vhsjtJS@(phNt837brFDC;BjQ}Rzx)Jz1Dz+P;<&Q4~Vsiw^oX{&j zwLcKsLx*io`GEC6Y_1ObJ>~m10**qBuh+v+7Zu*r?GPiIR5Pt z`Am^6Drxy%tNQ|s5ML0`NhX&mPU%7`%$Ujf(NRVX!`P1|>{mHbGiDQD81G{C2Su?7 zQr3>~Q9k>jk0)xzS>cS&(=H>vN zQ=l2k!Wri-24WX?<5>)|+c7>xM_pRSwQPJGYr`2Ua)H>DKXCWqrR^9m=Hpnq)2MoP zIO8+4c=Pw`IRDj-@uC$#?1gJmb&6kxGwv-0VlSJ>)o6Bk+dQW69k^w*v1$$h#sNy{ zRr_m~0CL4xq;Zj~ohyZ8t&{Y)j z*a4xmcQ9(@|m?UCdOGH5!Oc5o3oqpdty<39%{6 z-K*7Jo(jReq#~g|_sTn)o!f6t1-uQ}L35j5L#2|Y-99et0VEJ4cOi0bXwpo_{7JKDe!U@)Cej-csfM#5 zapO3^PkCV*5-)Y)0{8HtxEm5B(DiE`%2H@QNcDKzc^ln0sg@_dSar*Qq*{4wOUQ1H zCh#Kyzla8kc>qnCw|v<6uzbjaAczkZRs!DbNyYt!thMq_7BE?$Wx5KeGYvLUE2OOUKoVzd3P%DclUL z2}{HyE`cKlhWZCZZ4pNus^hy00)Y424RZmWl_P$25Xz-8Mbi|(d*Nm}MR2^yRhZL7 zd-qXnw09qQqrLm0)rBUA_U>bDQE1b+A^SK-FzkurfdbwZ+B12}oaghDpEU2jizl7P z@CiiIOE*Hjm z4{}qvTo~tlgs1k%g>l|TNAQ+=n!S&)Go+sI<9xzh#I~mZ@5>@}0^p~X0%KL&Q6V@= zqap)WP67<&VIBD|5WZ z#HF>G^OA5*N&J^wL?Suw4(H^u9d8FKb{p^o#l9R)WJ&1_S|c(w@hg|8R_1tnS?M%l z(nOO-Wkh*0fm(ax9co=RS@Y);rtG8^(Rj<-H&f^BCq}Hbil+nj5OJ#`TfMOrBDWFnHd`MA0ZTmBhAh|Dcz0XpOwlQP(Iy22 zxZawPsuPGi&E!lakRdj11iW`z9Zu3B@`zAwpos^pu9jv$#bHN=_*+lDTh?w{bIuLt zl*DJOv!-dz=5S8VYA+CbcQE?us( zNZh(DR!ggjgc?BWjwKqfH4-4x)KkOW8$FNkw6W`4$PxAKb5WP~AIJey6LInlQnKWb;B-;Y0C-!X&S6_Z=t7n)3DzV$ z2&B;7I|(TGN#5?`?KXLPKW`O4{XSzNLh`myM(6VY5s}cJtykG{WE-=6%aP4s-Et(- zX*qVE4EQI=mamQ*B}$#Rz+@hp=CmBAI0UCSS1rfjG~ibjv8#!wqPV~avYKNpt~?F! zaPo!4jRsUGfI8Nqdybayh?9mgVnoaF4ITpafs2sCSA1^Hu@-u z0nu%W$*|&&bNzamC9 zC3%{h^F$H|3TsL_&m(CTpNDQr(q_6TNxht=xWJ#Zq}!B~K({H$ zgYOFMsHs2!Z#!r5NVB9`9+jt?lJaQ0kUc+!z&-@N8UqybkiRr<`HpE}`H)RX;&oG! zJZ@8x1k;p!c_~0vv2`lozmRu^R+Bmt;2D16TGB4jG}V-Rbu}=Dv`1W;)0BMGmE|-g zzi{FLdwCL$)0DKQnS_-qX{v5Yc6X?bGpnZLSG54oBNQVYgz_=dlzeptAnIJA>xI$Y zeH0t*-ACSN@4kss<%K4Q_U>bDQE1b+A-nHX{$4eWTX3c_`bOR|=lMKIG0nU0gV`rC zd;-y7O-cE_vwz~fU!J07>HJB#I5raI%tNnv&V+nmEuUI!(#z+3lV|f_&i0i1a~#yBa_TlE@8$+f(c7VfX=s{~ z=WZZm!igYGQ}PraF>73mG>Dtq3e%LlXcmE2wE@c3htrfC*j2qimUx0VS<)z3kxj{E z&6K5|9cv%fBs>MK(Ef5ZP*66Vw?Fgth>R6;fC2?jzsV*dByS64^y!;xfufksJR$Ck z@{K^uDQ2SY3{K?5l&hfaIpcT>5Hnf@{hl*Q76UOA6m4avdAbM+is>Sn=Ky|6W3xrZ zbrqL8ae-HP3~Z(>#$(cJ=&Sd&BiiXeOeQN%al|F+Ik1sbD(5X8HNbg=uLf+!=@& zC$Pj-F1N!8N--l@c4^s|PD_zv~2m1Utx4)+Il;sEk%eMo4Mv7(IHGp%pVFD)J zRSM)q6?DC&1_(Y>2Na~Mxq1Y*Zv+amc!ZOc9TnWdPfPx(E z(Dh{RvV(gPfr1|TOd&gXo0r?Hd4QHDd#{}-Iz{k(t1 zY6&+uX{Zt|qMvsU-;rlr1al=}PCxIX0^kiM^s$qW)6biD1`qJAH5pdiQVY}1+rW8B zWe#;LFADWL#TO}LAF5%@z*?Yyw;_9kxy@e^D?4{@gg=G^g2Fm?&O=C=#fP9fcQlml z+)){)b9VzZrM$4t-J?!i;2ql6?c7PATN3cR?n3)Rs>j>Tb9qK>QY}yT)}1?fqIbwX zFP1>xJfPs0SfH3^lc#yh`5^(>Nu@i<&K>c(b4MPxb4P;d+`T&;Agh==5AbuXy4$(C zrx@VT<6;wO%Qa1P?p~V&l#+I(OLIDRcet{g&fPOkTwo*5D|I?|pSlED+iI%r-2LTH z9S>HWyOkvXk5Lzybw+XJSf+EgIROwOT%zlG(cXO&8|~dk-e~W>J}N{LM0@u!wo6#kH1YUWq4a?Z{aO-p3ei|)4cl*)}P4m2}Fl=?&M3ZI(PE$ch$LTD*o9LRe>qb?)wPD9+fJ-2grTA}8j?D9LEyTxXG!ZMd=I(HYd1#>~9 zY`1gwWDf8OO|k#Ph_x1%I=@525l6OqW1Y_3<#L|jyEbIgxjVd3r;yCArMUTXI(H32 zbprhekRG5Ca5{HoC0fKpM}#3BuvltI{myjQ-OgRSUvusZ=hU6MBU?1*P2rq+o`8#@ z*-8;lhI8u9-Iu+Ar%3$J<#alCV|aS+Uk;ai6Wz|;-8}O*ZLu+h)4AK(Tf6!&hZbNl zV%T-(ZV=B{pWg=JzH_E?_pdXxv~7`4187Z*(SX|{0W!_7&K*}2<-H;{% zo7w z=dA*$-)~GrNZuC8=#*t#@D!43It%UO2B3h;J41Fib6aTV@s>*&Lv}xTTLZ+DR0DGrk}y8! z?DFzEn)#qC$(9XkAO-rLv}QB_11ZM;l-0<4R)qeit-1!*9S!^(%(IsGqyg|#u)r)8 z`GO_HUruabGY=Hc5NWFb|55AD7~lYxFm*i>@Si97GQ=@f`0rS&)&WnDSQ1V=lOydP zSVj53WyDV9(Y;j9d<$dOUwy zq-6{zLgvxP$ft~0PfoFxQPW075Ak^u;E(f+$^&R~p{te6* zUc1<{OTt}j^isf2!4WPt*NF{$(irYyYq`>fJCmA;_(t+MF4lD*PqyUzZ#YrA*x*IL ze~Ew4k?p!z&K7`H5$`xe<0IO|E%YWH>GsGajJLg|;q2 zHZ4q->uyurANTrb$p#hg`yMK{Pr1v9y-i!OHkD(zxK$cmCn0E~-CwlEjlvch$- zD|oM6>;iss&Z#I9Rswzsj&QL&CpK^^zq#R5l-maZ$7q04h`3MkIWBg6Pv9#O=Y|ut zi`}>tI7EE2BinVctgQg8BCd6a#z(Y^{nAOZKk6V{7kjXiWRKR6+kgRohFKQ+N(`z#C53cDoPovDoVMQcP7`m z(8Xe#!uZ;`m}CocvCmeyF7`X`wTpeXD%`~ySF?@4v!24+V&^)sfrO@T7aO_&7|GAd z+)PB8589im~^F1DnD*1L`fsdu24%9(btnUiz^+guqMp5E| zrgAnAUwwd|R;#1$m`{$WrL>fVOmRsmK`YqF+-X2;@~K4W{XbTd9~onI>;mWOa56#-7rpH`PaA>m?Ib3wl1uys%nH- zAW!datwyzYlpl7j?|hESa)xHD25{YbwUeKyN}xvv(^FgF6;>KMxcNj z4eQ9eUCY|7uPp+oTnEhWxK5>9%Z-UveFXo!tu=bLGU^C6%zLzuV*+TUkf}zf*7j*n34q#&~rVo zfF|ILpiv9B8mmU`2hq6h`daM)rnSS@a9fCh^w-cs9^kC@Q0@*fka7*pi~@LmbfgwF zoF6oh=^Dy!w!LMbZ0JgbYq&MgKo)B#zv1oKpr!Ig<&9fhPEE?$74qwBq zdpL-$4lbJ|0>vCTmCXeeTU9qpmqJ7pkuXlQi|aBn;4Z1LaZRtEY?7wfr}nm3)tD}b(?OjUJTfI&?vzyK45IB2*q4q4EgIRVttIXt>JdT4gHv z?~VF%OJbAR)-1o_Q!UO30rupR(%|U&!763QmRMlsCZK-*3__I7&#sTD-_p|!A6n0y za=@a01ps>rKd$O&ePul`ThuQD?3p}7mP-PR)Gkd*`mtEx4N5=Ui!deq^7S!`WNNeJ zDuNYgD5C7&q5yjqqdcvL)`uZHt^3z6>dl(Hil1#&DW56gD*(Ix^wlb5lj0pZSUoU!{cqx?Vkt ztCa9>*T*#MqVT_;0@!;PDSdLbxVjHu-_*KM$u=_6Z&I@TKA?MxQT!$)`+*G&tWy?k zNC)hj!(=tI0QOyXk5ICVj2G`zvd;DaOB`8uX(McC_|}niwp z!s`f1GH?Hg4^;}k`hfddfcfiMn7`?mE$*BN*ax3IOQ~d3dHRrIXov$^Hk<4n)TUdd zOm|S5ZdFVJYsE!8IN5%bk)GDQ&5MT31?UKh7F^_C2iVVZX2jF_ZBxU3q87t`L810HH?W#pv}Pk;H@k_ESwi+6V zk*a;FRNK|Ou$z{9fxc4B&lE$&!k#*EvA!yeKUW&>-C#8SX9-|`6LYpQzR~oB!%E}H z@xb6MM&oak#?Lk>RKvPTut7nxX`E3EKb@HM~e2c$R#^2xEC`-yj zxeMRZx@%+OfF{6B(&1wp8fDSx*Wp7O8eY)``CjL*fpxnw$PdaOht@X~dDOG|QGv=D zSfMYf%LMG7Rmyvtl^uRjc6fy?dH~BrBL{v`#j9h~mphFCE_z8B;@NoMUt55=^A;^9 zPG$YqO)+!pnpV0I-)@R&9A69A9Rxe`)(R~AP@D2>Eh(JtX>Dm>%_)h zd4QcJzLCL-hFu<@u@8&H44I}Z5fHL@&P2%OsTNDPmo~PW)$wfo8uBLmH7sC}UiZ@$ zIPc(tAFE8|B>*R%4a^s3t9NmQh}+C+Qy#xzvi`~23cV)*7`+u(*_XAN!gyNuEMNJV z3ae^v*YXB7jT+B7lV2qjtOz`<$5u6NT?N>MI{eD2#(%RKF4o~gtCUsx3hsaKwC-Kr z@T~_}z6f@I`86z0>*uQ)*p6y^oVEM_?H9XNEuUAn0`_1XZduhROYfnA^B$hoZ&x)| zFhj!x&%N-pezmIc%WS|NrSZpBHp=3?T!&v-NoT0#W;bj8R&7t-MA(y?i0WvGhqN8L zeWEP%djin96_|h8R%Oo`epTF1M{87LBJlav|L=+WD{u75kB$>&wJu!QyqG7Zc~uLb z8U-9ks^N#ojm)K5_A80NsB``gvgbw0u5)D9a(T8@dydXLZz3|!#iVsiqERRLn!Xk# z0T-MD%%5S4-;n znX()gvi-14xA%FY+WVYitl_k`!A;QkCwVT__BQyrRaHyiz24#y0`_2QxPaVnY}cGQ z0bsV_N1N<0?;|1c2-v{|9e4 z8tDyh>7e$8e>&dqrdFwgPC$8srqjN)JoU^Pv?Ki8Mjdr9It|mTqmqF+JAnCpb}$DE zQNz7#hB{ZHu1^Mb?9f)0C541?Z=Zp@tD#XTz!PnubE~SFxbcq!nyG+$Z)>8mi!zIc*j{+8(F-Gki~uNb>#WGmT^#DFHZ%YrL65z z)BgSd6vNa9U|B<@+SBZrYtz>}f?{F(|Rp9{=CqP40?uY^M#qEQVU0De?n_Q$1g zKC?o(AHSyA2M1WE84h;Ya zpGVHsw&qPluDDsNZV$EB$+qZgK9~73{$?p~A!@nn$%;KsOX5w0ByPm2BZraT`9j&} zypBNM^MLu^Yt?ENO$DMfHCbQL37CDJwvQC9?8ALQHFx{q082GPbtmA!dD=c4|8us) zY5OqFwT}u_&moJn4-=~?p9c)l0>|p>p-#YYqX}=6&vPwepaU89V924|jD3|WFR#(Xa z_ChsYI2|=y&}7)((PECJ0f&tkQvdmA+6H4Ir=2a7; zfLAXB8prYAgua4}3J=E>8aN&(n+%D=1qHK*@C5fQpR9uwjobSGi6ewEN?GGA(}Bd1 zIyjvthA`(mAYp=5a*e*0bp=L6C`<3J;a2@74cVu!d%FUg3^cMXX?E(88Xg01o8~yI zujmFmaAMB24(Ae&Ez8EYcWM9OO+<;twa#^vW8{9O@P)K5{^2u7B;bJW`LUg5{Mk`DZ{RlA9)fOI(`j|ypDj-eV-E zu7~v%wcK57jo+;;#hZvsa*J^tVQ`4Eyv%85^o9q=JI!D{&sl1FLk^p!`sVs(^IP1T90 z;h|dxbz=Y2*OnY${iWK_x{B1Uy+T!y)u`pN0Bg^s+M9VJ)>Kt3g8v2U+Dmz!IhPC+ zaGtu3vW)DXbsEQVfY&bt=5M`J`uO|{<+U2M+$LlFUo_c1eLo^Dx!1b4%&_Hvv zf#&e2Gg-fuHNjzQ)B>t=f#a98E6J-PN^%{lMlBETuwpLP8R1QMMhbY;M;*l(@#}Ol zhjM}9%YpgdncVOs4ny6eQJFn~<(KQ+Na1ct#sffDlJWQrnH#PWFpRHh0WCd&`z~)+ zWLHNN**a8>n&@~qtbb||$9e+4Uanj29L$w--GNsbr?i>tgsM?6oRgkhi(vTs{-m8C z4=B4rtKydQ)e$AV4ppOe5v%W3P}3p@zrh8R`WZ z#cvcIyrR8dEJ4C#Y~~ND^SBzsf_sUI+@H6aQ2ltccxK@noHv0 zKqhHuO9=S>$`ch^PET4DTSH9FRIz1(y4V_OiY?u>o`_oRZ?pne=_e-Z-SBssiB8r^ z%+c3lAzH3vK&2RB=z*lIdy}f~J z4HIV=G?Vsx)O1OJ1HMNyAs=|tFmWnFGie`1?dvQ$zBGB1R`1A#rj z{9{+?obd!kLp`EVhw_0Td-QYTjjHc?7GzCn0vufFFUp-V`vB+fk(MZymhe_h?kjI( z^Co_rGD$`KC&PgFae9ChHEC<%$QYw#we$fV+GG4U!8~o$EJ}a_s@33QeSmNGwDbOK zm+OKAIOvNtS6KnjboKwm`zs^8-vqVyn_$JlHCpm+eQkW{6d-V#Rmrbfw=M;0UP*wH z{^J_8w*dI~>J$0AY;7hl4lmqIsJfnwq~v-519LxyxkP8Dj1caIgn&6~*yGB(P0~6=2uMxhku* zVP)~`u;4#A)}j{=MMqOnu~@4%^TJZC3#be*vXIXHRGAi0v4vk0=B5E1fohO z3*??5(~0phvntb&*kN@sIEjlULY?|oGvdk0<_5#FE50Dbe^J;w^tkkj=z}MC4 zGXvPjBs?Ouo?lt+X5F*}xRHlCdqf98yf4iXIUXQsEWZ|nL=nTt&X!OSN!vOw8i%}Jj@ly zhB%I2KBAFV@Xbo@@gP?q8)B9rJ~^Glb8q4bWJBb;DLHG-B=Jkuo_`r)qp@EHZs$)P z!)c4IQCgvTqtM-JNc`ny?m#m{sv*VxxtYYox3~k%5SJUyQ_myueIBd0!VvjLBzz#sD6$LcfNot$-8F@ z2%dN$73RALZ~sRCkz%_F!v^B{dWI?7PX)EYDr6K^Ay?rKsPJKVj)&_KGVDJ>G0G(l z@%>i{N0teJ=>JgRxC~l2mvgfHY^^X$7I+W$5fD#?DSQ_dW?>ViaI*?(g;mHXtU|8B zyKEpSjq9$%6qaFs`VvRscy2OP3P+Z3fs=a+h`@xWY2lk+U~9}M%mNMG?lP0I2`Qv~n_i2S$@WWg2K92+rQ}{_L%(@^<;WJfG zTUdpR!Ybq{e4P(Sia9@0VHx(va|%=`{9jf!%EFNqP#_dT3-|3wAO4zKn|?70voeDB zcovU@j&m)%io^P>pTZQrNd>jSDr6K^Ay?taaX?bpWswTYu)mxGSxVvlmpKYYR*Hc{ zo|h3QVY!%G#u>hwwu>THpE%T;{LwK$G$d*Zv%v-L>U;S$%rJ$& zpu%i}g(pzVsw5zu?ZPmHKTtufunHN4RmfF%9ech_uSY5@!~RXLI|?_v z?kF7D7!4f!ffoK|DizKM3W%4C!fcqr`y?lUtNgCQm3|@#j`4FEn4ZL>=X?{{p}j|ymJ)uK-8FH7BiT^W}1jUlDVfE zh(BdE2Zv(+qlOeLJ*41~LkiJ}Jvk^8otVcVqT~%6TDT@z=S&VQcsHl>du&vsTNISF zlV9Z5RbFPCc`Ck(7b%^QyrG4k;W9*O=MueV@eEeTPJfhXYF*zI5UD0krMics2YDv0 zMYeE0W!w-GCmX`ar_&cEriA-K;9NG210#~?@O{~zYBY4&p9<`|lKvH4OZrH5Uv?R~ z?7jq!{z7`%H7rBZ*<09e=(4vESkjg97jrZqxjP%@uNb=2DR4cD@4z!eC120B@VAC8 z+roiIUM77Z%gp3iYB`Th<% zf3nCA)FhHVpO#PV!VR_I{@92O5}3?m}|Ch zh-=j_o+Cj*r`%>BEr35e0BL)+0s;Ae*&*mV#tlWKWwtOxn3Zj(^$iR8k!|O6-VQ`p z3pz&+J9%ZBp8inIfxH3%}aK0En0!UsUWNx|=#vg?2?rA`8CF!h6Ao)@yX@Vn3-i0Si(fMK{ z4e+y4mV@mPCVqYrko>zMatK}$kuQex;m=TZ;h4PARSGwz`>GsB-l8BJuUAjUP(RKF zl2bg=OE`@0=bf@&zL-sw<|Y8@#G$7?d70OJzZat8)o7Jn8otJhzj%)qs=T>$R^2Mfn zAi1l07M$8K_LX0Cze?JPQ$4PoWS&tdCX5A=uVW&DlR&Pq3}E(nAo(IGfzv~6CFF}m zH1{5r^hZQUH;{MIuG$y)zzfB@d^`S-=I8X1n;i1RHT6L9A;A`i{87X_j;DI;s3i$} zFw`So+(6_rf^8Z36ON3EdUQB3Z*YRNlPrn_C#}L1mm>4UtCVs?(4>O%S*{dQgr3Z| z=cr%>A~@C67Eve$@j#--Wqvpb7M2L(kT2qg1Ie|jP~-fVEDn$_?q3Qdk5KWPFjJys zNuW93T@ECVRvF-2T6@_=)j)EkLU5X`J)#HQeWF5e22LU5E2>keVu>_Oz2TgklPa)+ z*uo;HMG-h%rwPSkBVWDuHVgx(t>7G<(wkz@P1J4&l09PXb`9X{o&v~szF6GBLghG* zd5{7)?H3^+hi9uMitIuS;Dlh9fNr9U>-0**@LUaGv)+|pa+W~9d`_^zDt{D0xsyMN zt0?ltC}KVo7tsAVzvyC&3ry!CgUb}^(C2r^;if<{f4EUb<1KP z^;^DI{p2_NQhy%CGxYyM5ybkh$^_6~)Gb5mf1eBKxxcgwO)=z#l}P>b-u{|AFp}I& zY)Ju9E%C-6)h!XT3Aml&<&S*E-NelPKx&NW)C*vYSZh$|CO%ybr253?DF9i--waJM zD>b@_$0h)&iQSLr*i;(?% zCNQXEXEGoX`-i&g2EFtKo-Lg?fccYWf+h}P87YsiPAp*|-dP?(pEyEv$O4iEbY~Ay z$BhyNPMm)Tr<*&A>Kq_(jHqx3dNR0J9!#HD$yt>z`J5IJF`DB1RLB5M#SGwQ0(QE9 zA_d^V^of(t>8~a1chc~)81z5MN6=5Kp8_P#VL>jA{6D_VJWj{z|NrlE-G&>(+|)3J zv6S_mgdw-FFGF@iwwMTsvV2mJDI#q`F|xGS+i)i$TUjehXeAO#DO)9Ld-^?I=e*DR zT=#9hzklvIbKbA_`z+Tv*Y&)w`?}6?3Vr5>jOyrxmWvPU(U0gj3OXkRQC)SlEK%{H z?_p)$&<(c1##`5-q2B4X_yZlsW0`8*9omY+f&PqWTn`8LRz$kx4MgckhJ&4KGNTrz zW#OB@yn%1@z%3CX+|kj;Bl&iHJg^v8@*U_My&8RTKh&U%T6Z&1@?iBEs)ryr9y)J` z+9G+OBj~eKHLwR!@(5*w_J{d!5Dy1Lg5RM|NR}>EnCQ+@5j>!f^6H~Rr5fsCa3iJs zuLe=6M&`d@O0|25O0_Wmg;JWdBr0{Q`7b499ll7nHUCviS%fI<%zxEWh9OFO^Iz?h z8xf_0`L97ro+2vM(frpurD;c^Qk~3yZBx2DMpUY^9;i2Fr`(4Bx|sjErabaEQK_!x zziui0S`d}G&HQ&;N@_o%Qa#Ln-BbEjB`Vd+{MRGpe`ahs7#Yj(}>`yRO1JS5|wG%wxm^1Iv(u^ z2M2l>5tl0Sh{)*e5d{l3n$_U{ds|Eo*TDVv-9Xf&a&@9WlKT81B6um)bYV78;5voS z-i;K{o7@IQVZiCJ9eD5&JGKL(pF$Fg;s?g!ewJPoKkzVaW9dcl1CQWY8NDceVB8Lm zs9-N_J6-T`yg%1Wt;79;QmWZ7a~m?CKBz*J^dhQ3Y)w@y##rk~SYL(JOx|XyXdR+J zd6ji9(eeg3p%$p>3()CiqCjOezYoy}Y$>8{@LTiB5Cy8M@inX!6u^ZySH&w41#VJ5 zKLWo#u;_xRnfj?5QJ}8+s69~y9d(lUnKPOmBF$CFQAB}8YBZ{-qH!91>eIqz>g-)a zfmUkegErv)e8kjD6}Xis&_Vs&-&~0T>Nlt3GUsPtA4rvrqE(q{mYrcWr_ttWQ)i;U z9jg9lNE+uWx&J<*z}@OpM@agMMAsS9gPN=1SfVFaP0|HT5(&nD{;-nqYW1Ut@|s96 zHuQ&;Jf;p~!6CIbtMY>t~8q-{LA5E0HQ>_Z3v}_Sl3-w!=C@@c*x`k+!9%;$y<3dD% zHf1`qluYxyR~chjrlQWUu7SSzB2Mah^+~M3S1dsph<(@bEmJpA3QrKJXgf!N!06 zM(jxu*zFyt$Hvrj@yt>~I})W%@czKEbxmL}XH+@PED4$-skH19_!bDNQBcLlj62WR_&g-sfVb>19C! zH3DA_CK`zTJtsypZ&}eWaCeBP7ZjnJV%kNm)PM&m&?Qj5K8L6Sfxgg~5JoUC@VbrA zEiOWuUV1bzD$vCa-3OgQPh?g+98e8;=+1Ep9^6>IH1K$!=tNd*a0(vWIkys}W~t6) ziLfD<`r0YD6s_o?hK*)L!J5)mD9nM>=d(1Ut)c$NWo=ETl@kNY0`CU?t;oKG-y*jRqZ;C7Q9)C^EXY0tXtsqCLA&xE2A`{XjS0N3|8RulFyvL1|5N61@6L@ z@3~H*uXwHt(v0rK0^^5rIJ}GC564Z_;Z_#NY|paK^O4207Y?aIRQ)F0-hbm9{EgPZ zzbf!(K@N@^ApSb=Xw zG_wb~-T$SHsVclu=c}caxZfYn&&%KWx|kUWr-pNtUjM%waOFVt-$*!nKWh)=r}ZBO z?XWT7^O5Wjs3Ywa_KIom-h>yMv$kG-+G}clJfUk2JKXtyIoO(CNvQrm*5>7>y{6`6 z3XZD64)5pZ;K+~r=Ej0WE3m_*{2X-kc{uC7xw+td5q7AYkx$=9FWC|r6ntd_JM_rU z!SQM{RjVyg>dRiILS`%k)YHyGx7B^<`Or*toJf?q)EgSM9vk!Xa0j88DuXu$9xXWY zI{U5Xc!oWxBc`FS*6MGpwedpf+E!Jt?zO5keFH7^3vY8JzEo$_mCK&)YN;<}scGPX zf?gJ$SICCWZ~;J$($pUXi30Bx9NU)k;|FSlM4~jkZBk%I!5Kr@IK^+o&UAr&1^ZTqHD=_76YdXMvJiaFQ=6YpOyVq@XoR}EIZ?5{tDiiOcdx`sB!_8g>I4N`YQ-oYOTQ02+JBf*)e+7r)8&@DWcnn9oP36{cB5jCxDd}^>367ofnRxReTV5 z@?KWl?G!Gq*4EcQm!$3w3~b9<-&YDFmXSe}juS&TxUd0HIvy$t2hHcgD!7GbJ~vro zL>tX##*0;mQUcEv$RtYXU5_X*9iecW_YQm&n_>P7rc}Y5sXV*}=G_>g41`Px%-(_B z06uPDZd5nM3+kzLKdEHz_BFoRk|?!7$!0`&VnwOO&peKAApfgO1W%>fn0p^@T^daE zC35PhwiSp18-{rNWi2<8DCr1HR7Xw6bl)_82-{{mTV1uG4^d!SBDQB*fqdMv!|nT8 zSaj*bRoH2Khd+NHn0xog?syGM@^!~j9W@wBIvskVkGTS>t0JH}svWrMNVOtttK85Q zrZ1o78k(l+)FVo*^<15AT|zVsV!KNVw0+Y zT{54Hv(`~HvxowhKN-%|SS$jnua@`1ZctvQ-fT3TVd{tCiK^oddYm6PiUctN!olwv z5~U-Vj?tBY#{yNE`mG!BEoOM}E#@nQiI6Y1m`e?n40DUQUxm0^%vl}WEoMXt2l4!) z*Qf(g*;|m|Rh&#z_Px6s!8W`RQTqLr@k4z05u&oI^qj&Qg61g|yg*2`)VF1b%6_At zV8LsH#)fwcsh0W3@Xyqe3=@9(fVl8KJn6zCQblYcST3ZR5Z&5h^jK1q z`4=LVD>=I*rb_=kMCGpU_YTos{EAh*2~kKtx5=jD2}{}33MT!?CYwslwWfYB>8CZ> zlrs1Td*StKeL=9MGOt_HEST`LtTmOr^(cF-gh@Y!$^pyux28QhpwFxP78~$Km@v$& zSA~PtM0ku4{b5ZNZ&}7=m4!(^D#~S5I%mD=!-SD-O*cGmtI-uE{eUQYRaPaG>BHeL zjSM)iDw`{^>1mkoHmvoknmL!Nu>>Z(3u{f)y8XkZ%`o9jSZk_&_)9i@1ry$bwWb>H zcH^=x!GyP9ttq_rRyGxHh9}+%I8*vxlR01wnD7Ry^}4B89-FdY!uzk*baT^I9I!u3 zc>C3wYSpd8riWp|yRX(%d)~7ga5hYM^VOQ_wEl}tt6;)=uhx`N?iic)!i2Y8t*P$! zi`aA$CcN`%P4(Vs!qrgCF?xNbTlUzVF9#FeceP#(b{Ax?2uzq5xNyuTD%bGKAxb|N zue!m+Gew&ky=+Y*bXjLgm|WCQ&y5SCADxfMVnf;vnDKFZfA-%wYkZfTEoOMMVoHD z+nVl#iD!y7wHuYe)p!IZo(|g7enuNM&4G!hgEn;-Rf|n;!^G1;n>rq!!A;%=6HfJ;h9UZ-H<>7Y%Wd%VnEUQ0I}w5iLZFR>{NCY}!3l-*$ko3LQHoetX6?ZaQ#bQ?@O zHlBQos9g87R?56q|9~|adt22rsHj|zNrQM;>1_8wl!@o;Rq=Y4Tk(?|IE!8TBnQm= zB*z&4lN{f+#Jhv~m1udA;}6LTCE{IZd6J`KD=X$7XY7+4k=qrmZHc#Ep(u@Tp}+9l z0t>pV-%hj*g6>X0h+T)DTM|fDuFuWA=B*$|*um`78pjCG4;OB|r11Gdrv>XL( zkb>k%j(@SBz}Io!x)%0Hjvjc|)O3fA4H`jzM)(uIw}gYZ{6&H#vxw4>3g(T*1-FSHJw z=pOCRLOwWnCOHc=-Gu5PS$Y#*lt~_hSKz(Dqll6R>D3g%!Q2E0e}wRO0#OFu#82_s z;K@S$J_FjJU;l$Xr54tPoeUrBHdn7Ek=F-?I_k}viM%^XZX<%LYSJ1H_8?_#1NO`& z!prvRcGx)DicD6F=DmHx{s-AJNIB%H3#wsR$s5jpHWWz|c%^7fN zvDSYP>T&h8SY;d!DM92-RSAl)Xn^`#6lQqURb#QX=Je5x@#0$>Db)?Y1TTuP30@Sw z30^d4{-6sIyeL{rksvxZ96Xza&)eGI33+{l`XPyyXX0#^;zj4;$(L)Ey-0)_UGCwT zHE*q+>KIhsI=$3E@d%N(z5_&fUdY?f6Um-PZXAFlo~iKO#alS~nF?=HPbBLhcQY1R z(9cwOTM8nHhrzt9`r#vegty}emr+meAo4y{rEeulLM;`wGEB!4^mhT&O}S>qbj>?fjqFk-2bq)&Bw&5yd?CiUDwGM<%T zG@Zf59V+<%d$w?%=0{!c6ZPO!qVEy5pYvqnA$4&9(IFTg@q6M&UGKPB@HTtC;P=$V zGwQk@*>kPm6TkR+$=<`y5dDI%U-*qUYkH~P%=g*&t23G(b-fy10I%njY-ihOIuT=! zf423Sc(qF_6TB8=rk~93uU;E(=LP=Sj&0Z2SXck1o7Vg$tUz&3Y;6AN)w|bg`5I9a zb)K5PBG()I3(-0#R!D3!W1Fk0_Yrv$yoJ3Ld1_yrS^qTa&Gcp#Ri=br;z}@rSH0P< zZ~?{J+sc~)($skD=C#rbHslcLP?%xB#`WH>huOWYxKo;1SPgT_dv`xKZ?NA}8+Uo5 zODNN_Nq*0b*e~=8uf#&4*=Y7czo#}H^tS#*v1`gwf5iJPXBIT$0Dq%Bvxv!+D{>Ht?u zkrf*&!Y<Ige8d>DD?_l;b6ERg!LiJD@c@qm6B4tHZ!w*<4Xf2^bC~naX<-! z1w2BCeI;oDLFeA+ZWtSm})JSJ^V==*tB5Z;eg)b1Y zi~fTyNbsU)Ek%Op+;Ff_7ks{&O_YvgB)Aeuv^*2vkyE_r>7My@d?M67pwzS80Ht1v z$^hj&JE*)3Z`eWQZCs6{0ZP2K%|JQE0VNi~VxU}~FHqtL3s4U2N|c0J`hjwiWQNZ5 zi~-8mokgE<|LjR*Gy;@couojo7@+)GEONLEP+n}VD5)3tUlgHa_zF;NOje}Ice8bM zg3uTZDr&Jz~rjD5tL`Q$kY+T>Atl7u?JR z^pA@mK)H54hZrXztZ}`UT#4OZ6n6)dZBMc1I=?3a<&=`_x!>=}K>2=YMJLfQ=lz}x zlx>d?U4XGz58G%5lnt@4LOKklv6zVtD7U^vq_V^+KskO24|VK8#GW{fSa$}>&kqu* znQ;=C@Rk>!Y_fr)t%;RdLEeO4Sa3L2pv!bXdG&Th>USrpYUVxzWiA%$3H7w~bwGK` zUW|x(V)50`0%cY?a9gkZBm$H}?}28b)94Oyt!-|Ba%ooxUyT!L1`(iKP|Hj}Pwj(F zpJ`02SfKPiK;8KW;Oc`b36__L1TXg_N^jQ{$^Vc%qH~M%B1$&`^I6trgmp5avopsT zpq$#9uRFM@eJxPJ%s`2~8U!fE^uqd8y$z%=P+}7-lNWjmD|re~E)#>C&J9qOdX1ev6s`|Q3{XCXFUWPB0|1=dEjDfiij&FPQ1>(6Mod(4XPp+}=d#NJexI2g@F=1$3ThN2~gf}J5dti`GB&Ktp zH@-AbLeD@69|x2$SfJcDod~Y#TU7K6Qr0%0#j8YEtWy0A+plahKzZ~IMH^r%-A8N! zl>fyBro(=A3snIbOt@3*vddTPOLJd4N$I$D8izf`u!tQm>FpnC^qi@WF$y^iPF*XO#HHv;zctD zFakdxsK7 zSb%b4U!o+`(hrpTB{S3v3xxB%%M(id?kxIvv>!lZGy;^N92+sz1J3RaWx818a2cSy z?Q5btQHPGA2;B`|0m^@Gz{0oADur8ST&`xHB^uP1NKF%&HLg*?28u?)xD3Woy1jCT za{3ka-03_8DC_@2#`A>p6rlW}kD@0KmhP~Pw#Gwh{If*4Fs8w1%1pCBIe9M`&xU?a z2FlqzmGSK5_vAa26J`@lN7x7bMh413ZIvP&sGBE@w zXI;W2cx0T}0_9gb$&@fXt^|9BvRjl)0juI72v9y=mMi(Ogs{f-Uf)mI{j9h2qE zaN_4qqdUa4R)F$qO$e{V2{nTVQ0_czCXlDn2H3-GV#NaGZ!0uV>NBs<3f3cw1X~Zl zdNn$kjpR)_*%wJ8FrUM1Mp!2!Iy-Zo0m`ET`MQHgA+7~Vm>DR)ALs+hU8wV)0}Z4w zP+}K1lNb7LpdTpz5`&!14NzXFs%Sn=v1JDmB^AN4(V<`9YJoEIMny{@XzT=+jKBcp zz@N!P7zlx`kmI2g@F=1$3ThN2~a*Th$sp1d_Xx(@qG6D6URexR%@nV}iOVt}%(v*_dT z@-RHj28{sa04I4J1_zYm#3F~w0A;DgL~o-G^Fxmxvai z&X4A=$n_RyD_RD{B8hEgtN`V%*Ki5m8fUgZS@S5Da6GOA3zUn>aslcd+cHyt0AyS^NSzd`0OiajJV_GowQUUHG-BNuC|~NJNY#sz zxH)Hm^0uBlaeBl`tsrk_Jr+C?E6`;+pnSHDBK4w^>^5_sf%5d{SOQqA4k#bU2H+hO zi?4R{hp98R%V`Xs3*!i6&7 zYJqZNl;}?go^^s|Mqq$)-fS`v)<_wq6Jvm~8`e<%(kaj?Efb(zFqh~A3c4T#2~f_! z+RWFDunjiex)v5F7viF0x|2m07aP|7^8nG#i$z(@zoht5FR_VFsCH$z>~vRE{&cVVK}W5jMe#!Z*Q- z-a1nMK^G)=QM8sKL3D07SYsqUXa0{U9mz;=K9Xp8CZ6q1@uCMu=hyLxQ2SU?Pk6(U zdY2u;l2h!U@;1!2gUZ{u2uZ_|SVWvz@}Of$?D4}axhG$i#1R&j?0Fwi5^CvZ$@?TT zbaZqKOU`l@eLPN$CNdgf$rVm=5zdY!cZ)?1mto0H8;Sl!9nOd%6d2=Y$r9MNByp6j zt1H~%;&L^qh$6yvcQr(2jce3bD~XE2*apVpW6)k<$&1*g48}puQ&_UXTkJW}c?wGg ze`&-u<%Sn{hSSa1zL0{cCgB{%J4&qIDsX35|W?0MPm$t-znGSN*4TjG9cN}6TK zPv2wX&CVz+Sr;qccZES8aMOtxdyXXwWGEASr1O`XlZV$ZOHOr0%aZNFiqz8B*p4Nu z{zP;Zr-(iID{{T>Iw-mV#m^Gk%vfQ`G3#;lE&70Mv@u(j{PiwnO1KFE*FIs%p$o_q z&?zp0uw>y2T*-SSgf*`BPW{2|Pm8-_$?!?`eAVyCEV(JfE!*z*WR~oet>^%n{f*y~ zS@OxPMBl>rxAPR1{1CV7$~-8I#Y}W8c@viU&k(DyWSzP^NqUPdgwu$1XO>)zy)h=n zNo2xXRD3e;Yo0iZW2IJ*cNIG)VXW?o73eY@OMcrzk^0d|t~Ya^S@Lt-_r5At$C95` z(GWOV`oPuDvgFjyFlbumClQt`i5*7NNT<;q;$jI)jxC1rX2uCMeh5o$Zeu2pr{0B5 zpJ`02SeD#f6|s1r;_8Dd2{uEB1iv3mlpeVc$zPECNay~6q!F0U!eclitdkL)oq5!- zWbQ+J-NCC)*Rmwc%#srx!qtFT@~$yNNprA7hRw@T<0UUN4;xGhOU@O8oX!nPPFX?J z5U1D;P`rU~p(${+EP3cZqSg=`c7hp3U|4d|^JEQVShWVjI0ku;W;wbRl~1V1aT~BSmmkAETm&kg~P`PyIxMefZQF*p9Ky0OgU_iC%{- zAy;eylx2`-VhK=YNM7hPHiZ(P%ytGn!`aF}d9PSyNE@K6`X3SY6I4@0VMdw-%Bpx_ zYlSnqv6$dR5jMe#!WRfRR{ud4BzRG@mLfrPZaDbxSbUzyB}zv!56)1SuQ-kiMkXD(ntTm%8iPcpcY?@0)2T<;BE#O_~-y93JoJ=yb$ z-;;sz@A>Rm@=@C|UZl$V!YjCxs0x~03r0H(7$|3j71f5Zqw^G?JYGqWx>vmPOmslG z62D$OE>;1`qIRe+6I%$U5$n!C`TG(g^?97c%{hB>GUs)kau;KzR**M*4GU5x*yfqy zP^JUQ1=!QDzLN|#bDx2-?Jsx;LaYubf7Lf99}tVLh88HZu`8dNlb=L@vTq9vtgTL? zJH)kCfHKe-!V_^q%^(7l@BU;akf*S$rf(p}0p%C-Q86BE<@~2H^K2})YoSZg^SrQ=Yymr8C~wPflW^VrEIb z_k1|GurP$%AuL#gC3|iUiTQ;o#0m z_^kB=Q96>5U_&I)@=UA~k>W)kn37+|CqnIGNj>4s%}KpMwPDF>5SbskGmtbtbT>iL zuq1XUWR@(2q?>6?#^LsK&PVK7bBZPg+Z)BFNxsZ%;uQLiuw!s#f z=cGK-iRekklCOTu{zaemwU&SAK2d{Nvbr-`mMn_bd|D%44<;M-7d(}HulGYqMNgy7 zSYkgPMXvY4KSVR3ct&EI7{Zc!uyL_k8fUgF`C^1i_$aOf%aU6=DpSDOxCp|M@2(|N z$wHHDC9QG2r^4)B8Adw{G%jxSR^7yfxA1#1OZJ@4E$ip^bU??Ft^OralbqyjGxwP#$7f>yaj`mpH-{@AH!gOZKh@P0=a;S8E+h-T+~(IHAT5VaYv>&Fu74FX;3@G4+bQIeDZM zV)0b4pn{!LBf$w%h|&+}!;xOHG>h!aIn2iW@Z%8KzVE$ z10~!NA@TvG9F^o892Evi^c({vY9~OsVjAw#@v-84pms`L=mh%H0i_l?pzJaYH9dps zAz6AB-b_dyRPb2=N@P@6-l%_6N~Moc+n4M<=63vQ2T%qql?Frwa6q|EEONLEP~KNZ(NCzuAyI@bz*m4W_b)v4=&Vw>Wya-d^s7YY zFbqr2kS3YEW4tx09-h^Ku^x>7==KUw&McvfXIJMbHz!|8QO0wm^Aw=Gu!<-NyMs@4 zo&uC3LW&B&xYX~-K)J$t?(lmuP=3{(J-_#RGEiomAxcHq|NKS<%1=IGW4SzOrvT*y zJX+oi27SOyCt~b5pzP35ncz9jUv5rTuE{`|>x>pC*WipaCpNad^?0xMTUSM2q5C)F zugLZOEUf4R6kkhhGh+oPpS=~A;6LNc7AVtf38^z<+9yEy@H8?7G=e~n08@Yf<$u%3 zRI;~(u*UV?L_C9q`i&NMcXRTU1ME4|@5w+}Gx!yT=*Z+`v|+w@5w;9u&Sbu zVLanJ1t`D8J%vKgOJgw;9ZGgeIcI@# z)hirrdaTq6@-Ft~nYA`npv!bX`NMi5wckm+*}5$Zly~3_vY*B3fb#bC7!jda(g&`F z7AOyQf~0PK5&_D}Q^BP?q)Qs~?`iv!BiAL^Tv zW+LM1gDc65=Wr4EY!*>^mFY+xL2|v$J&B|dn9tvBMp!2!IynB__~87$FBuS z?DW7ui9L}7D7(!jN*XaI1}KL~Ug&{2exQ6(401X*KzX??QT5qG>UAg{MYs_5HWHw$ zTY{)A1iPF7HI^kO|A=seU!)9kKw^OMC{}b#nq#XRLaVe)fU;#4Q5p(Lhf3E(fO1q> zBGoC*Ti3z@W%YiDue(FX#u344?%`l?HqyCsh|-Y^2cNLX%oBzjOV4F;!~sZz$VZOS z{mD7#ekMnB5tAdTA>?=pbwoVhbCNXI=7rMmM2RCuEp+7g%pBD8#<@i4NS1!Ot-cl6 ze6ElqvMC%?MIr16;n1Q)8NVBHT>64kEEztmX`QDzlZzv4vP=>>6?$ zH<0KJjM#yqFhk0c<6{^UPdK9+bO~M*VH3P4d=tFr|K{pH=z;_BN++qKoTv_#9GWLUi9jM{5n1nY9Bf3>1}RBqSj1~tC2LfA~z#xZbj}!(vV}e zBgdYO94F&&HpGgPTb@Jmnp=@L!a|OZzDSgWTKdWH1<4E*SQtZ&o18@-kEDfI)fpNg z$1j~E6$VF+=fxt2%aG%tvP4xD;?cjCY;8j6@D*}wj{UppIja!U0Shno~0XV;!nou`mvYwNkxc?vmRsYlcfVRtxBA;%RFqNXr@ z@AqVKoHK|$|MPn?Io?x~JrK#L&UDJ*uPe-aYjpy>mDIepT)*@aHTJ|V|G*K+}*<01$-Cf~v#W=aTaTGl#aoE}!MU^Gd|Pe%oA*KQXn?2?`s79!&7c)>yc3tr z7UHF6q9ezlc+9AeScM#O?&qOCQEVZcMyxxNV;~J*c;X~(&RKGNx)4YEC{}6(dC!bw z!LP9bU8W<)%~%n**aF)Fp~hzJGdX7AiTkQzb>w&nzsjigV)50`lH+=@sVf%&XsGr~F<(b<_fh8!0!;_D8Uq`a0Kv4$#>BNoCGa-6o1 zC<(s4Tam9xUg(WQesbI@205J@a(pU}Xdq6p$Dvq_a3QQBEabTE8KMyos6`^s%L?1Y z%2)l!5voC;D`Yw`h8!1cB2w*~0%vnYC-Np`!nHkabi4ggiQ93?32OZDMh|XbVLdo3nPN3wL4A2c&QxLBAG*%S`0*338&!ZL|O z8B2@myNyTjm_MG3Ksz)uLeI{ zFj;22h^2csIHMbG30@Ro6TB#V6TIjvi}fFLL4p@WYbg>$=Z1q%F2?7%B}C~+MuLAL ziI!(#la3TGnz1auj!%Tz$BcSn8)ihUnHf(aX_)Z>l7<=oLDDeeeU2H&IA+XD6lQFO zv z%y{^2MYp34twj;)4_{%%y@eI2q0TCWTP$3zl6ol0c?Fw5iOd?;s4LG9;ely^!dB7_qV%mnn}z4l1dPXI&W0 z0gy)_d;Gwj*?v#H+jx(sXfnc%@Ee&K*St^0IK>%-853^8^S@G_=|qe@$BbP+X8%3T zUzoA&3}(ht&S;r2wVWbV;C0&;Guve0pT`O)YJ)mg&0mr0t=LV}6^gb{=mTV82s8Gp zj(a^r;>?yAU;2wo36tYWus>ffXr)X6%iFnw@28M z-mo2Djk~@`igN|orMCULwq5{Hl=Z1q=qaYl-VFgh-l96CdB+>Fr?B15*MekmdU&kjx z?PEqgu?;h#*368lNE&9Wf}~-_+DIB^oZ*;pj$_8Njv3GA%Zxa}!i*fiNI6G$SEfzUkh8dsxm*`p4Ay*Wk=iw{N_yB&A zo#(7lxW&TdYE^qhGcXJ{ip(0sF>Y~2Va7(?6shl|JkyC7dyW|&AIib6I)7otdy4We)MfGWy6HsAjBjFhl?KSy zyAQ{SU^e&Qq9i87i=c?1_4sop&W_L0z>D(}5ZVg3yaEfgU zMJmFDuokc|W34ZVzJ%Z&C(w%nTV^a@mLp7;GE67NFr&hgvTr*DTBT*ejNjd?Xe$c( zSPBwmEcX$S`Zdm5*TOR6-V?absJlbQ#>Ia58XThJwM6MihJzJtGV?dXjBD01GotGg zA@VV!bbN9SI-Z#kox{wC3J5bkzLqEn@qElUPx3+=aX8#>(^}}5vC3N1bStWdWa-J* z>8Bcxt`%lPHid)N7lZILgpU*>$|zDyGh^0z-w@Kw2t6|+d>k{vV43mwIU=~K=Ie-( z+9PFc13JD>^gWuB16wxR3^T4LIU zvC615%sA~7Q7csLswm80vdlOJn{HKHZ(HRXZV6r#VH3P4d=tEAQS%2~kl;npT8aeG zx#8e1Yw_80JyAN6k>CI%(eg}e>zm?5U)r2s$0tJVV@5r(4Kt$F%#59pG|YHAl7<=Y zLeenfD#wiL95cR*!)bn-UX0{5_Ze}7g&9*f5GA3OerBvEnW06SW0!i;IP6sgagRSLIQxLl3cLi8bq;V&Yy z#x-iyW};7FEV7X(=?mRnVa6v;uxB+GO=k!*7U`#qXO{C6W*mQn=tqPd;5>yHOK&0i z8pcQcp3IEdEtT12WT3!i>B7F*9~?M$3$AuxQNi*w~I4A8)AWE!6qB{1v(02YnT7 zgkqJ%HZxY3vB}@KVt*QEw#-<55t$Os$CY52@s(p_3MlcOZJ8-Rm@zYvD|s^%W*D$> zy;o%?yLS+G$Bf~-*>kAhlbNw@3vStyeotn`q_>G)K(m+lJ((GQKS}foj9Z6z%5u?)5h{Y|XGjI(+uGfB#AvTY3EG-BPE8Hav>FZ^*5H|H!fUVMco&fr+7 z735X>oCQ;31-eYfjNM-X|2oN6X6`dH9>&%p?~Bzjsgmp5avokjtW^A&RuRB=p=UQgO8duDWSY=3< zvHBLGB>4K65!(owyilvHerD_|205J@W?V6k=qgUJ4v9$fj^`hi1ld z+pv~>aiWa(3^R`1?i)gy8KGxpgpXrJ7%VeRdW{IK>cMSzkQ6Cv8&D!!QK@Z2Y6fgi zu+1=I(pI8Qu)XPQ!i?KoEMdmOk{6o3-Or4_JAQlvZMIGSK^G)=QM8sKL3D07SZNzRr)I%15xLgf8N%RMXVI`4S;~F({Dp3IM4m5?a;BK^6 zm~mhuWjy;jPhrL@?UnHy>pX=SpKhgOr$G@(UF;;a(Va7kF;`tvK^Z_@Wh_UCGF>OBk-|hT` z8DFr!O+W68mKlG-Po;}uV>@PCvX$t29Gmy^SLAvdJ|X%AiXSAlnX$r*7qQQ~!poB8 z_!+Zh#;n51lu#K0*FIs!mDnkb#Y}X}xEUA3uvmo| z-|WvrJzH!coJOoWGvn&B_`)A2kqK{+@X0M-@RWNoR%!)#ohoy2TVn;fOvj9G<4x{k zPLjA=w}qK8PzL-fR>zD7@Pv;_-6ehCYG|1;Q?DW3BtMBTW1tc6?QW;h9pYliea6ms zHcd^56Kc#5X7v6s6UbAmq0?s?6DyV(pGnfpXa*{-KDd&+v>g|buXhop*LokxACcUy zbI&7b1m;ui=8UjTMs#-OQNxU*KH}>R)*HW;8L@OZGb2_x7iP@ajg5401J34UsnL=b zdgvoRGfo$SoX!n1zSvGt22Qc7pqPYkA#4#L%sBH^q9zc0?gVk*M?~pJhJ%xBGP8Ga&5ULDFf*d-6Cv_3qjY?74mzHh5uL-#hzbZZ{)E~go{t#| z?6G;FN_%3MQ41Y2KKl`BT5S)$b$mor`UdO?nLH>9D^v^~MU*@U+4#A=IE2{{9s@HD zFRt%1zPZ;ogfufk&&&uP$BZyoX1vr`5nR<$RCF~`);8eMJ&M|+IUmBdfo+Bv@B5MH zG1!hfn=s>L7fYD2*j^hy^ub;~Gp0L(p2TcrW^6518MTHPt6m_AVyxaR3Nx52Gp@sJ zZEPlITICyV30@Ro6TB#V6TIjHd-NZ4L4p@WYbg>$=Z1ql_TY2NUM!@!2iYGXiI!)c zGR)|GkzdCrLhWNlJ+TclqSnle>yR|exE)EujQfx@%y`~0<8O``|8>k5NXm~HafF2# zC+#CjLM{EwI8QP|!7pN%ahtQ~<8j>=L`Eabc-TqG!`U(8WwFTNGR#=#CPg(+hvbiK zZ9=u+E6liZDSrBNRw>+K;d1rd9HN`BIaLplS>qbDq_(06jQ7LXP`6i@F|?dLr#nw! z#+E z9hiSN5cNjbCVnH|XS_O_jeVR^m@x^zO^=uIOebROIc6+3gZ*D}{=$s&n)7|e_0DLS zG5R5qIuIM%F=G~{0qXo){)$|$*AAjeP^5fnn`~yRFyj>c6JjLJY?(2;gfb=chCmN! z<8SXXzS>xs0&?Rb2s2(j%9WfWA*^w|*J=^hZ;iM+X52oI3;)dT$;>!>GkgBx_he?Q zQ9==+*+o9H)wT~i9`tff5EX^78jNNb2s2i~-M7}_rDvjJ#^bmJ(@(6zjMo=cW|BN1 zwh&Gu)}5Jg5Vop*Gfv{>oW0LjYb8&dk7K1)kk|2MF78sSK$q#5u@crjFY&qUflzZZ z_n8^H;fM0DSRFG?!K2-(vsipJw9NR}CyC9A18qGw!{fF zW(YIBm#y^d^wde{^g%PRVwth~ITXqR6(oTx$tQbp5h?x!QTm{LNR~nJiq5T!q!F0U zTWm&HCnGvL^B=>EukGjS4wiwumKm{zC^I8gQ59yK@dZ&5e0|KgO!7j}{eEWrKn!v^ zH_Ui=Gtu2R#r^=rI)n>h)20JIu%QXBo7*UK$sEP6b@EPg766lpGzXjNK4Ypc>GJ>5Yo&DJu@SG z95cdTnQ`Ooir}h_qM|2}vbF(vzY{%*=KKNM&ulZySo=q!wXj|PrPzcSt0T|E5@u{6 zd7*G3v=Snbuq~jBz z_A#TL*oGNVYi7o?NE&9mf}~+af~#T15EklL)QZU4R0>J6gyUN{oaVRbck*RM9ARO` zbqDcwAGVFRPc0r&>NCjqZtr=y}_Fuo4sNZnpx#wGof z@%+Gf3NuFX$ao%ip2CcKiYR&vVgGfW!i=ef6^(&0^(!e;-hsK8$es}x%>j^iU^;$F z#Mq$SLTPad+OL?XfG4>oYW>jbYPn^FnS zyf=%oXC)ZT(35vy3LYh@hp$x-W z{+p9LXy(3UMl7AyPppm^i+uy`nj{uq4J|W{zz;g=wfrQ)jKy$rRi8MG?hw~nVa5*I zA-otT)R-a6c;GWLJ3WXn;jK?G|^zAV}GyX0H zIh`A3JlRIkOE|@*93x6Pi*O;V&@0S%a6i#&5M(-mUb5FR<9k!dMCcEJu8`@(7-qcC zPmy}eDbOk{6K1Ttm}oi*nlA+jGyaK1+_uJf>snZ5>~#tE8BOVkjf?%mM{$ULJcb=W zjw0i{O=iApnDOy%_)3qiPlU+FjMDMRIp}z1MsyA{BPt-wc-uEbNr>lT#^I6|dghxL zX4FE*j8~4KrqjQ{w~k{(rAOfXj^sgaV$zuVjL4>N@GH%X8z5{JBFgy0Fyr;deM3m2 z3-rv4@NvutgJs6jCy3yxLf_(HR-~+Lz=HKetI-^6f0a~`ZH5`s%P2YnTU%!nX3TN1 zgc(OmUMT&zpBbNb20e+{%FMVztTJj1GcI_Y=sHy36H%DKWSQ|7+^9Y8jBdCkcu|B+ z@S^Zd@S;b)(SOhd30@Sf#nPT3^!Da&@LBaZUT6OX*>#Xa%QGt(X1w=gejT3(wT~I~ z#5T-`S~D}2N76834I~XS))#-ng<-f^WY)Mw-IAqfA&g(cxJ0*Cn6b_!_Wa#>3N!Y7jg05@-;1X( zW93^Ftwq>6Fq&=@X6$l?XgQ3X{hoZEvFBH0Jcs!``M2rT+t_om-;Y7f z$jmtScQ(H7jKYiqadZ7gDbI8w#-3xwtAmvZ?w#=u3y<7d>x~2C2sYKMcK0fjCL6CeMY*A3&z{#xUZrIV4Uteg&9A=O^_AhrDvjJ#>IGNY^PX-8Takuq5iYjLO6|B zcV@;Zct!B~A8lid#LYR&j6b$jX3E_XE46~WlTj|NZ>&HEbj1j9vdT z6VOwgq0?s?Q?FQNY^85*@?^0=s z<9A|}QEQm-&wq(-MdiG+w&G?mS!Ub?V`XP_!!5y!B5Z;eg>QlvO)~$X3lh92T1$~2 zIyW4=a2lU|&f;};eS`)hiI!(JHO#o+e109D2(^zH^~5&Jh*~oqGxX~D7-r0I7JWQco+mOIVaCx; z@-CbmGtLl;94@}kxQu8A>hQKGLVMvW%=mX}Me2aFO5qj@m#ZRYh<0NbUJ#izu2Fcm zeLsxFf5xu2y1l}TNB&{YbQn!%2s2{&HSO8fc?vUP!H6>mJJ@*&GwxYN^bL%Y{GQB= zPt9Y`g?>+F#>tJ8@!aJ1WMoY z;?)Qpygp>6pX5Gcja7V~@iu3)%vkgmMe4rT*p3+wUM14c$j!`Ok?Vb(tY|Y@^^U|g zGgg=}+8USk{c&c?jQ6kO5-!J;V3~3G6*2`RpR+A91qd@wZsW#($C&y#eC~&QqAN+bTT& zD_(jgI%a%yC04>0t1zQF$V0v2ueOaLoJOoWGvk|o;|qVB#LYR&j3ZN(nR55UO06KT z%x7HO^jLu|(=nrmeHKZ+eJHO_oKRziFk@CRGXXs{2|7K4OsrUDyg~0zV@8<($-QTB zZNWP^>Hq2ES|syyavPFHU_L*$8DX7_=%!7jW7iUXZB5ZcjaSfhY-q6?HV3dp)J*Np7h8C4CA? z8BJ8-kT+oiQTGd2{{o5{+AmEVA52u?h&Np+x)a8Oe&dK9L>0dE{(PCJ9`u(aHl-Qk zNw0r-Md%fke9=}X^t9R4;7l)~3O{*+`Y7X`Aqq+}#*5yr-t698jMg37VO99uJ5fTJ zdXIrZ*E`hEv}_6L_qTWKRxaQL7lRepjJ?8tUhQNq<=tyyRP9YvArRP~#xagw6XPbt zC=@uin@mHm#>J?wPLCz3P&DxUFGT2b#l1`6AbKVetbBHJ{Cq(e?sS zr`i}|i4|1NC1xAljTu=w`@j2Rb9?LDJMwhyZTC^PlI#R;>hy#*w^DEWy%G@vpiLPc z!d`yLX*(=2iOg_*#SQ0Ib*>)HuhrJW`BNUwr>^jDhT@vxtlfOWdFLfJoR1>S!};?| z{^6W`880Sb3w8f+9wxb=U#|Fvv$|8!jd<{OG8C7zpA6@xn<%OU<7<8+59f&u6kUb> zeTnUc^XO$n=oR&Y80~oE;XLYjGVbb%R9J@du$k9~& z@o?_`CKoWo#b5;w=l_&4m3-!!7(ARGYRPSkUK4|dbH8Mc@o`)X8P0Pq5TVZ%_b!El z=$T0HWJ9F?yh4<2GR$X@->?(UWunf-n&7FhRevaeXYQQ9A- zAL`*erH^IBVm87pz6d`eLc?tK{DJ@0t4GwIBQ$JGi15d_>}-k9$QOZ{V!a6KIr^%p z!_s<0i#bAb?DDPaFi|43@I@$#2yMo&XOaI*gmSkKo!|&<04BN)t0cm$z6kXZp`-O& zz!7HLLR95X(+?f7nU9WeTq1PxMd*qM-K=L7)k4pX0`-aJAi@|@-LODsfxO-03f}hA z4kFckuSeuPK-r<0>O33;_OHqXt?*2NW9t(Y z`pXp9AFDh03LIbyyiW?eGqymZ$ZMXxhzlI(EAVL)IQ%Ux=#~Pez@O_AjpYJ|V`%_i zfg^2!pGkouVhc2iyyn@IWLo$?UxAxZU~YXbXjg(M@XiR)87?pv&j|Ype8d)58{zbM z=i%4_jUumk_MKedIA4KFP~cO$xuC9vOo0a?M1B4?UHTMWWb+j`*%mlM3Vb@YK%>ZO zp1q9=e8yMcS19oLZd}mepee9z1ERfL;PZH*#aG~LTi|&qa8_)AMv>P%yJE<6=^S5y zmr&rMueqQ>MNEO48W1)9$Fy(}eh%>!xWpEijc~e47snQ86nV|FCvt(W_zEoE3|~_2 z;(~rDY6`5KNwk6sT!HV>z5-X;0#`|aZ^ag96nV|Fk8^>md?#&SW$L#Du#hD3Ok0~3E2 zmia7@w{%>=+s0wye`E{1PYT>^3S2eLufROy0{3u%*`JjlGAD<tIs^0`=ee*ZGB!XY3entAyMb6rd~&}l$5Vt-`IN9MnHY2kHyx@C@_1VxQEoY zwq7$z+Ik(AdTrx+eHT-&hf%K!wmuD$O}(fQ(Mhh?1uR$KtJfu4uk%u`i?Q`G3XJ*d zOua7KdSzc{>vcuyH4&nFN&V)pSNGYdS3zYf^hIe?u?HIwJ@p?^k1?>~r8r%)p87}z zm95&U>xg>kE-R#L-C{HtuF%{=s<5)P!+x_p^~Iowj-(G~^XrLv-Ak${%gpiYz6$j# zt8BgQPc`*B-H50vDP6y^3J+lW>X#<?7bv-|>Ok~VmDIYjY*BX0 zAB+w12gk^^q;9n=$(Cfxa#?Qc<3=THxh?y;y6Sd!$@OXK-u`(U%s}`hyo^mu5)wi@ zA#XxvV#s7U30N!wS@Q^XG6@qLAPji{EE|$I83ImTh6H$PpR@Nl`<`=deI$`bUSe3) zSLdGZKKp<6*%#{ovO%4?$h}(65AGPn@sjw>~|;--r2a&e6PrOV#|2?G)nE zIKRy~2=-y~8`blJBRDm`5o>-}2apcx)J1NKp5LSA)BMKF{62~E+nS!=i!i@Zj^_2m zYt;NcyHkkioPu8|2M0@Re*5(NzNzPTn>9bI1ITxQn&0hueiIka{Kn1v-VD`_i`*UQ z`Q_j{Fq1i&*Y?ZR{BGSP#86(%Z!!l?3^u=GdVaqSol5+>*P0*J0sO=H-KXbQypZO1 zznS077pnP%>G@p(^K0j5UNbnqkM0s;E6lG2ZxxLl9TG>jLG?H{i`6c_LM`W_-9kKs z)#IG96JC0FVh+ZX(@${v-+WkzBZuX;adOo7%h<`gcMI`5*vWEEnF`-{c;X4&$wR!8 zCUo*hjvBxBN;MO4lMsc1n)o9*G8aCp`*<_&y?l3k!=PK37H*ON*|G-XuBBzXommZ$jtUGx(@8lEE$z!>- z*!Wred+cT*{un!XET`;-mmZ#YKzH&U-pQXrCqI*;#&7=-HIvWYEX0K?6i9w1r%Z>J z9-eqqck;8mlb4~BU&vA8-B+tlZrvlqG3?|Qa>{ym>EVe_>P|kuJ9)((A#xwgQRDxO zoqTkU5dRT7`Cv{N5Z`!s;+wjYU*?@`fKGlj_Z@8f8?RF{x%L(zUc^p*HK%NdmmZ#2 z|4Q1O|I9lnK_?%{QR60bDuj6A79p-#sbKOENf8B@$%O9Y*Lf$~Z-E2ZTnih&6aTK; zE5syr@|#E`vqR#@12E>ta#Zb#Yt@*^ULk%LsxQD>Z8l82Sr7U&4*J=L6?;CR7{OyV zPy9O6sf*mliO7WzNB$j*^Xc4`*#GZbr^fllULiINsc}A?)7HYoSM)f)XN~h2Jx=jr zHO@19oS%kqK9~C>_J8jtHO{eHg?JB+^SPWh5+-hjJ|xvYXN~hGdYm~N=kt7=KY($* zk~@a|=SI{xpS@Lx@8CFJ$!XhQ;t4&@SFLfrrpNg#j`KVp=fA=@f1S%?|Gzk@#<{g5 z#MCMUx4+J5lVC!;iq`Wt);Rx5kFy!-)J5)_e4MYtIN!-Vf&Je&rpEbbNr-20obTkc zB{1=T9_JseasEk<^C*t-`h!FCn;{Z;f+- z9%lmT)J5(>K28kdT$W$L{x90D##y&dh;vrw#L>UHAqVf3RJwiW=sV!stMu=ihmL;p zWBT7K9{cDcL-#z2J*~l>?)oA`A6=f`EA8&1LL4c>kQ?$e)IC@+*(XFBhP?7A`JM#f z(YIX+cLed@6GQi0jScQjjc^T)Fe}95Z{9A%hw<$f@b7c`g!sADIdSiQxIjJR@{i4m zYv5}|lYcNS#22w%afgDy*zH36DbE7P@_!9qpL*;8aSePcXL6`4bh91U z{PEj`SbY`_2M=mENOV7W=@B7rzFTJuGyyPhs=N_Y3iVQFC}u z!@;G#$zwk%#P4Fg@8I8;_Y1M&Y+M~Y@Zo;+Ash~_lubVNcA=YHaiapxkpn`EQFC}u z!$Caw8QleR$x*!Kc3Ea1h8c37>WR^4FE`aOF4D-{%erao#xy9C%Q} z!3X3f;iHE%%-`d1V~2!zJ=KQ?J{)`>QVs_nLY#yz0#UQgI~6b=KP1Gzr{?gWhJ#Pd zOv3kasNO8r2Q&ARR39GraPVm%IUIbGXma&=LVWI|TGh4})ZZg_3UOd8j? zxaTi$fU9wU)O&DSUIT$4laSb+mhelsl&9_#;^DOjX?RdehZNeAkoKMGeF^KYn-Jmz z)rSYZbjXk|mkt@WCm|=QZng_)dP0c5qUP|RhJ);jlaMi#>K(xP&rJxi;T1SNc;Lf9 za#cATBxjt2bXwHx?bv+m^+HTib9hk0LE@fCNH#_FK7sWgf4vazqx$f`hl9LaayZEA zGYOd(sM$YY^Os*Q#52?!9@KDf=X(PebP}SYsouJq)asrq3-Kb=hX+0!1d_|)AZU3KLWii?A#6T&M2HK{Mc}}L z8V-UKCLyqf>b)K7KYm1rH&A_e;KMG@q%?d(Ky+MfJJX|8ld!;TsqUHDG(`6yn zVvCLVcimk=+(IqWlK;4AdFTB?x2RytsU>LxG$u*+$)A2q zh#_oo75;sEQi$(R%d}o_+_Z$x9xwebB`p67{(X5;h_Uk#LZlMVm?YvS;iJnm)@?ZE zk$Z(`QOmS)aNM+n&*o8!Wo-G>y+VA5T9RHsW0IVogpc+;ge`s<|E@bG#Mh{0T0=N) zTEb^nsKpnsWpYf2OD@25l0c?0Nx)9RM_;~(E%JMj-yRd>gkhJJq*y0j! zs|g|2g+lxWwM8E8LI|bB z^>Nb@t}RiEC$Z(&142ANElE<-m?U{8;nLKHvBekh@8b^$@pIHNEwhiCmJs$zE!Kbo zPYChy142AUElFI{m?VBDA?WsOY;isQJyH>3?JIGeX~BJ5w>Bc$ z`(K$8M}IqnQ;j*i^N{y8h|D}#4{8j+E|Zc2#zpIR2;dvJ9nmkUeh39-7c z;#c6SDMCE(3s(y9<~P6j%}bRJUn#`*zyJM5rncND#LZLRy-|oq9=L5Myna*l?wvw> z|B(m&Px(*$?~&SXL8|mF&G@ho zg)7CHHM`do)(Wv=N3IY+d2U#Um4SfAi-v_5+JW_jST!sPYj>V4M3B$H1Jqo-NfZL; z>MYr0B{W$xtY4oEk89T4u;#{943lGD2oWr^m)U%xN`B#g=+Dpz6;sThP8c~P~X^?l^ymox} zrn5)aK<5|nv0z%S)U%X*U5u^PsHwe5S6`#ne2FR;I~zK?bhDh3UrXbyeAAV+d-TEp&f5m5mR>Kd;!4Q@aP#zEbufH;s+=THP~^C&X2_&w&s> za)aL5tA}&@hRx=@?iFIq8nAoB8i^d&TqT6KHcxfrkk{$X)wG4!c$M6sO+{?A+0=ju zkLWRE`%wZdTjG}CoSej(!dh6>*f~P2NkM;WE;l|5<=0;(#)mh-cd`+KR{}n4KObN3 z(BrNIP(h0uAawOcT`oZg18XkDZG3|%l#@QN=HOZM?k@dKEr{L;akqX0t!Vm3bt%+`QX%d!yQ^5! zq{Ot9Lfos7UvjTwrZEBZK3$~dc5d#x+|5I{S#5#qy|GFJ+*j=Dn@t%&4&-Yaav1tj<{ObgG8I5i3JO5F}Q z*u}g+h*zy(eD)F&;+N`5Y8Hwoz1ko!tn4+z0>#%FA=Y!jc$pD*mm6_+g_3Vqa`Exn zwCuTxbNwGND-q&q5<{;eF~sF0$c1aooJjy(2clx5CM6Utn{-7jkv6Br$%v`J*z{;x zlx|5?QV<%GWwu7JRn8zSovzod3Bp2bBN@IOB>xW0{3P4CK{tRo0sL>&3qt|7lK_U8 z1C@4J*aT&}sf?uEO}cM28RFJAr^=~xj~>_51`$jOq?UGjWf5ODAnvWYA~aWUE9o*d zcN*$8Jrr$(5c~3?5Wq5wEH*F4Qyoz^MiRr2P%6ZJ4PGf*m<%S_a!~KLtZ|4~ui8+G;VaxURZn8EX|~;rHg)O?QKubm z+88(L)u^+nEdPvMH&t)pb7?86&L{PD>tMSUH8ve=*XA41tx;U<)aRghqSA?@j@8|v zD7hu7wBm_Q`*>7MVr;gz(rEan6fGs{MWa5oX=(fQ;q_zJHR`STrR!!|^P6U>Rkv_# z0<5dEl}?y+D)l7ZI4kl()Z1}5Rf!|@ zuM8M%oD~IuFDELUN;66#f8oAPdwz~rXYf|V%}Twsu{t*=RtOO%jc_5VCT-{}FT_+O zu2;i2>C{^@o|2?mg<8<6+HS>3XTF-KYOQE7tTY&87H+`G`(?F3<*(H|ByhAlUk!bB_9_7 z;_?Y**N9XzSm5*`_E=r4Cd+g34YaJcu@9&OkM(vuy;zflb8{h7P3@pWm5sAvl@P7@ zX4I)y&FhtNj*a@%##s>v0c~O5SIgphTa`BIQ}noVYQEk`uB*3pgZD$u9b49$fFgkq zY8mRelC+!kYPi_$z*5eF7BGZ*8SaB!ny$m#0wHSkPSk?!l7r(82O6t7?P?Uqm=q%h#)rWK?0cn>imu`DF<@lMUi_tKO}NFu{yt> z3jY!c^CFj9kr%7;_fYZM^0^cFwNP9TtMf4xzd4utK>jQ!ULjWJ-$})n7`V& zms9yqr_0Bv{5^SHe@Lv(-$vy(<=%?juM(^CN2&N~T^ovzQ}NE+kL_2Jf#M}9{KEBm=QJe`Sn|TAzD1I5D5!G`w_Au>Z07{58WT7C(4kA=sr#kLl8p z;PMko!J{v{kl!{Oy!ET!2(|~0zZfJhNQB65I8XkS|H^M)_d@=4!<&M)DrEW0Q2xqc zc>HSc7lq}MUoD(-vJeN~3Qh#K1lxlf{-khD@My5^3#y|l&pSC3%m=T@Uwyt)a$)ds z)uY_gp%cN&=AU_4SO_+X{E8Jp0x#tANlSW;N6O3Ry+oRjL9y>Uv;{i_#M9|)$03J;z9RAD)|BmeH)aQ=9DHy#Rh7FNS% z{2NXEGb=x8YnD&`uG|_Aodi1zX9d&wE7lo0$tfzxU$+jo%VI|V#>mp@m!nfy@ak6y z`}i~YEyK^|w_F&!Cb&#($4+Vd0qZFQzb4rhXG25J%UUOgUJ70lye7C@wE=}Z@3dJd zONL}GtK@Sae^<+rv*fd4Z);4y`RmTb5on~s;>oYcqN79ktIk!WM~4c-`KxkjbXcrb zKYPjS!J9l$mRhm+ za9%K-KQ>&b<&WjQ_kAhkH_bnj-#q+;obzTdobuzeyx>nhrWbnguENr1B%NF}%mhkq z=!D!dwG6bB@>_<3;rx}ufwaSh@>fW^hnY!*r-x2hFF}AP;1^ClJv7N$U!_``T`!y* zdVyN|UVdFp#`{Xyj|@L($e|Ys?K__Ts9vtw*NgL4eD|tmlXFd!cPXu4V-+Ng8o0hhBU!KZe*M>*s@H==W9ot7VJ)HF8jBvSR3k z;KMJx7`zaCBzSA^WboDi7XY-DmtE)NvqY39WiO}sPVE}>uX>jA$elz~>!WjMio3^p zSP7V%nqbyI9F|B)pBZ}gg~IWZUn@Lx^7*fRMbT_BRJb;OMXqr8=<{EDzOW@YuP_mO zAehO|TwEyTZ_4GbS%?3>>3qPFo$Cti{LWl(1E?p@2Rnl8!S>+B;D+GF!j|CClb@HM zn_e+IRQSe^KDr_({A@n>*2X&maAARu>BHpixd=UVK>vC8DSRt9n%@KUz>RdvSJC}* z33>FumxmQ$L*Zv7{Ky_w!IR`AtKsP^_*nx#XT#4q@Us?vUI9Nv80n9tTXMBnoqzgy z9O}38xo7gP8_r(`lQ>JP&R>c*J_?^WFZZ%?!$I*rDt;b{FM`_8&m0vy{m|8v!atsy z3+@dr3!>oO{41c{8nHT07gh>St;_}Yef!Da+rd3SHMmdJfS$jMH%OAI;^0n>Z||=}mfsH&d}3VVsSy z;xD};oJYmZ2s`ObdP;XtvC|--H$R!n1-s{i83Wr7(W~#R$h{oQ{GxgDWqR`uD{?3D zuhvliE1a#<;0Aj07tlcC`TbPpcdoIf{Ic*Py?H~%`Rr{}ky5C4+P^F-m+;PZuRgGYmf`QXL; z<-@^DVa?I}YJ$ok42UnBDCAD$FQsCNmv@2nYt%qOcO5nO11e4<&x=(27NDo`VTHJ_ z5UcZdd=uCFQVO4IRGi*%z}%muSAQpRe;;gCV27?gK`+u>eUXaYuFn2j9GrIrV~qG- zz#iU3FaAvAf?bCGmZ({sh@ z{6A6gKdi_V&JOO#Zy3(60%${0T8rs0q0cS*HXodo5i zY$<@~S~0X=^#+{c)!)Y6eid-wl{Cm+Dt>t=7p%)~h4S;n>ioN?{CD%YU^$pqO93E# zoZfs(UJr$d6gHDQ&k^&OFeMZpH7ZhJi#cTs4Kcn(L z7dbeE$ZvulQqEsAlbfT8>3$!gVyoZxQ@N+#w@|;ZQJb;uHB?u%Nad20udO241kH`>FT~nkz!_QmXiT=p2gQmnxQ03;KSF zia(Xw<4;iWSAl? zCf6+duE+%k-?k~ZPEP#;LodGmeZfMoDG#Th=M6(J%eV8sV3t&L%D~|yD#FDR*zp4h zGSQ(cR_x80k3LBq<5!oKR1`$7;13;YQDC7KD@>?GK|t&T#84E}D__ie|1lrzqBkE*|6@Pz`JP}`@K)*|`%S9aJevQ?;~+gduTwU8aC9hmCiwQ> zNZLL+6nwgH*2%(Ra7S?dcmJetcJP58o~Bz)eZtqAdehSY(`k(Q|4CCNnZWV}1d)I8 zuRU)l0F5Lk5#} z{iP>BrdU-!D666i|L72QkW~tz!>;?@jMB@z6Waum$eF_cbx)kw44tShhz)R-`-R}! z|0LfY9SZ)auypccg|mY7g~iVV=YRM6Qab%`wPqsf6lTtt{wcI(g6b4npWfJmw4M*1 z+?2mU3gqBFe49=&M(}vkv!5Xh6?X{_|X-)!q*GhBMnihbWxc(BcYg*j#;i! zctv^0tQM3v%+rEWiCHZu^_QmwWdpNXQ1&iQ3rgr^wV(uCo)(mo%W6S6v^*^+t(Mh- z(qMU7P>L(71!c1GwD35G0qB&B%F}`pO{p=YdmLI&J}IjOgdAr($SuH5flBWgbP_kN3sw7VfN`qvzplnB;7L>`zYC#E$JS`|0k=2574tZKoJ|U|G zr4915piDw(7b-xJQvN7^vvi?K;9>?Kw*lqru^LeN9=8D{+p!u@?j5%QWy-M{d>#|$ zxD6=Hjn!ZSW`l7XP>vd_0i~>Q8&HB7s{!SkaT`!}7^{Kbl??!=)Gk&7%G=_OKzUhI z19`Fl{ZP^sw*e(pu^Ldu6t@9oM6nuBx)Zknr8BV_P_7cU0p%jG8c?DUw*e&*u^Ld8 z5Vrwk0kIlTiVwE|rSLEf8tvB1dihgtB_feAB4wlHkL-45ex7@yc* zj?2mQ${R6Wj?0zta$G8v#^4f8X#si|+2&kH8rfcsl0A(i>a;3JeIYusJQtM??=Q!~ z8DXcqCbT|IYB$`#y(BxqX>_eBXE&l`@op^F4jNUue)k4^p{Bd@%yjAuc4oR=FaIaz z+HoB~6vp+L7J$=0dt|EutiH|#z~3B}N?W52K>tvWtt)R1%cEhbB$`uk(q62_vio>s zOIQx8?YZR;;2M`EsuTOG<&jWggBe}#_15W5yOqFRhjW$Mi25_C{%lcy#?+s!B2GF< zd%mH%ipRpk(cH*rcrdKTVI!(M7}X@ol#{u}c(t62jIf;@ua?S{@oK45o*F+A9@!io z83_Srt`8^nm$!ssqSKz~L~#t){H7|^2XC8iRpAnnn28eQVFYY;U^X(cFG>!yTQj#c zDl-aU*&?0l1me+3Qfhjz)!Gqxm(IdEUlj+3e3cYJz}2-*r`-|S->2>Z+D$g>7U6hn zZax{uOLAHJH&&}8mC}Mpnsd|jMkK;pqd4ibm+cOBi}0>WV?M&o8`&~lZ`H!-dM8f8 z_OvA5X8$)aH|a}+;bb`(9Ss%AHQNhO2-~+<>D0o?_<^a-rHOJ3XnkY^cD+0rN?i0- zAKf`!X~Ypi(_t5y{ylGYi$=XA*XH8gwpKd{Be}-9oNmA9DKS&xsEC*2Bx(ZeJS4PZ zZa$us%SJ9Z*^74fk8bv%2fzsjqlIR#m*pj+%30!+*b1g!a83E9( z*=CG*YCNZWedtn;gid^Yy%k5Dq|}_)Uxhk==kk_d24md~m_7+qJ2D#HC9k5&>V`v& z>i-If9XX4CFNwe&u*%EIb%?qPa$; z8ikelrBbumtO`jxjY^z^fLrZp5r)lrON5G^GSH-7z8=eM7jNQd4qdXPS-bDw+tPN8 z4$X=EnZkSr2=nTLt@dIgs?9{rsFlPDkIPYVSJa7t3(vP^qNFMp7WcW1DrgcJpcn%l zq1bgfmLde?M>t#QfC!0a+nq#dFy*i^H<#|jzgR-#v3RjES2|oC4Mn5cZpl@TZc)U> zZbGY@=cA)@>elP+^;#`z?MaeOeQF-aXMfd2m5GrN)vTOU65ut8@uhAkD-Kv0S4>fFuqZv#}^ODsypEJ5p~FPu>!>VEOyp{ZN2+MSD3cOTlhXV{|MG z)0dFLdMk-$qRx1;v{j<1+7u|LDp}xH?FHwh;RxPZ7fS#AyO}JT1$5Heko*>qz)y?*<+VT3`B58&XwWYW#C+$u- z8QBt!x8v~6xv14_*P?Q$dE>5KUHftr7nnSZ&>PTx!(nc&v;cf#ZzYLl+MQ*QnizE3 zi$f148bNWryHih$7JZvkg36&H(L?*o@mNRERUd*$8&ag(dga^ZvLrN9suf z#PYPX2t>H=z@4}3IS_{9A(E)WO`%o z!pOM3RB8gd1A2>ZSuQOlQA^gAcAD!n*d`6NnKns%WrCG)U$a_`ZcfkXNTo9qNoy4e z4XqvE*wWf4?ErX63ut`8zv@zH;Ye5>3&m8st!!B)Q!LG@9GA9LYBjJ-72W_Z0emIZ z3MMWozUxGsozrtj30wbsN#bswYtJbwV?i{RrLmVX0vz3XXk z&!)lSK#?GGeP=3~slz%p#7U<*D@_3p4pz#riAuxK>;MQJ#_4mxphH!bN+K+W@iOrI zaIv1uhAM50biFj^DxC;qv@{7OLBriHUtq!(Rx}?_YfseEWZf#ekh9hbJ z4Tr(_1kau{(MSww?-4pu{9GGIUit==7Vb59N49`0p^Qc`RGn|l$B}eF)s-m~Z|g*H z)LDq6&nB)vq%zJ(C}?|=?VndMl;%iPsMZRAw3!HXCh%@u*N&8U)I)_ zq(VXT3?238XE3d3t|U>!^x3RSi$t$j?_a5Os2uucE`4;Rk*&4*G_rk}qdsw~& zXlPp`(|bkbxIQs~wxQOwKo1qkY~9A3Y*?coOCnlqD7q6ZM4dR&@o_t~L;HpsTz9i2 zVb6ek24#3Jk#3d`BhzK2RB65*ujk{M<@RmBgM}O>-^8S&Pdm zxpFY9ON{}X1zR%Qo|$e^kRk1sSggiLyEzpLaPudfN-Nfus*Ui>eqAPCDMIMbg^(Y#w}GvH4;7|tox12qgloZ0q#$5QB(@(k5G(R8&v4@ZQR&WsJ$%sFKsN?!yN z8^tNZKc##Ru*V)MhJyu7#g)#?0<1#ftOys9%2Xo?+tbr=WJz`nEAmRS$$I%DI$yy@ zB_-GB7)lf;JKo6Vah;e@k%)nVw`)H>vVG-z&ExX#!ky|icPdB8fyz|WNU~WXvXxiJ+Ti#^|cjdL5pQ}}p z=$7^p_suN8VV=~=BtueM(VM%Y}yL$aRcVDrCC`TZFZVX-{!xAlbzrTnlQ>Gkc(&336-sPa zY(`CRpTP-EyQNM;Ay%c8gsm`+=EAAvFrKSaBSATsQ-IX!mORuj=XN~-gK8IPT?|8g zV9XGf$`Y2&ScYl9K1x!h3=eAb8$S}3Mz)v`90*{;?c~hfat8b9mN|%FQ^7Bby3qKY zVJE88z~&S>L*>m<9CK&;VTZ%nrp|9 zrWsVh?TvP&rVM`(hV@n($h7zTT!PWG#I;yv{rP6O*~Ayn&ZpGF3~+<wmlzLTD2HxLjtZG!-+bW{0R3& zIGmIikf|E$aEIMs#F3Pjh$MAt%LSL+5e0rK^S=iX4WzWtPA*nE;E9k_ACGKhp)qk~ zIwD1eyh#L+s&a{|y>N9-{0czQmJy3erBzyh6+k!|y|Hw7e^u^2h_(4?lxa-#s4)#X zQb?=Mb_IJ8h#@6G`~>Mo2{sNl-rx*8#TPSLlc_&o00oPm(Ch3zg7&T6*6u)L9*-&P zfhK*Dx?J;OHEu+*siV|9lVZ9AeAaGcE zyYy57!#yOeW$9(ZgC5{ip!1iLv1)rh5etiRoq8*g#|&(fdcxC+0~`sPIvQj>e1jsx zN*rNP8^|>ehIQ$&l>($$={yKd)`L=IP`p!yvuN!hyuA|Nf;y&GEP=-WqZ)uh+@L|$gzv|DUnln_psmZ#5*=zKti*+F19x(M0v;|5gv+|!hQCW9R|^$f3B zqE{!HleT{)kr)i&WoJ~sY1Sz)7nE#}hT4k`iiI@m<;YSCoJ*u$%>pdIb%vb8ihcFt zF$s*UfY?4Xw+zh^4t1yQ4(RSv80ffpIYhUWuGGmN7uFeKVM;MI!b z%K!_CumG%2M;3q|%L=BjCseh43Vv0uk!V#<3Q6vOl$e82$mk~1h@%xgbAl`fAX{I* z*8y|J3X~sZ>c;edQ}tn@z;y>@rAVjKX61D9%u(xQ{lpMKBr){51>;vnM!DWwS`an( zu$KI;7Ae`9MJLyPHj(YUJI z4Ty0?pd~C#ca+Cn?{)?@pw*`N2N5s7yVAYs$OsD{gyZdlAq2n3o-_i3L_{MO{732x z2#+CANmh;n9y+JGm^&cRUxp1dq@eYR=N-3K;=@rg-vJ9;eNhe^@T!>#jP&~st4*jR zJpr+3G-`F(sM?gqx6diF?Qm2v;Syl}poM{akAqIrK{qX@jA!s_CROl@>#$Gnv7x+9 zhweD#2M2-XwF|>ahCa~k{uw%G9mlOaiKKv3duAJU(--}m(`9MJnhzzyzA|3X9lczy zxR>pP+0*Go-pU>>Bf9KE82MLM@%=`V5$OBBs9*3U$qfc z!1%JR;>-AWX=OlokCqMUQWEc3^H~#Vq%c#DZEB<_Cq*rNsXS=h8OyS-Rw^2!Dg0OT zU>Y7#lYKSCJ#6k1(u#I5+>sxFrMwnhG!7N|RBx3A441HCS$`mb64Oz88tycJHxiZz zq39Hb-kgf1-!jeUGBHy7J~@_U*Vf^_BU@*pGlt%NMvnsDHMoObaLV7(k z>*4ou;b+K`*)^{p& zZL3VfP+FjC)@O!L;hNYKM84}|tZPm!CdPM*TTIWfz+uDqw$$nirKKeiwjf0}B)U;% zBV4K?;i9iIV15yK*%Z%{4e@A3CMjHMyu_>phv$-|yr)6= zFRse~w6<5f=1am$sL~ma2hrsBmzEA#_2%M(+Fn0;Ced!`9TJM_bZlg^xh@I9FD^mc+~NI4 zKr>X1?zzVNpb$U9oDX;(1x2dsc}!ww@P<>2)}jOGu6C7UCb6JWjE925a+1%|p~4R$ z5z0zzYC-GtN^7tpRZNTSOV_f}T8vNH4dgpREr1l7^|h!GCDDLHshHZCN0dquEvbv> zMlJ9zIfKX1Rj$#^zI!}gXGb{}bMq|i;lL?nd=VNwW}mV38kxA(M!rsMy^da=9Tx@% zTq#$%)^a%-Vu*Qt2CoyR;v_Pdm{xGTLbbPZWiT97cd_22179?{UUQAoT=9)%uItq* zKO*7yHM=lJ6dXRzRywG*7a0Tip4YIX`9quQ)yD=X&YQ{D<`AZ!@b3JGptmrQ5KX+;A@ zVH>G1ve}qQ%D=l`nQbbpxU>NNa7Y^k)BwIul|&fB=PGdXNE-20aHK=5L>~TBYD)O@ z-A4w__zhX$TIw)>Tn?_R);z!soYV?|%=8=MH^?Y$CF3L6OZFs7@S5B(Q%H(SIE4VWVEs_th=hC#3eltH2p&nH5g%` zbgOC{&UK<{REy-cnt^RL0U@J=5a^=h%A>%JNizbFs788{PEwpb75@sYqbzyF zL2{iwg9->uam%&fF#*s1d{!fH_GiUW*ymRM8PlHle83V5b(+u!Qh8(y5BDc9A+Khq zGM0?aJEZ93slG%l>_k4~c5P{T~^dSOK!`NdM_GPPYedwEThf$`BURE(^N`v;pU*2w^B%O)_ z)>|rFI+v-KxSXP~c{cKF!HntZ8V&SDO7Mo&*^ZU8xeI+aJXg&bQTXiZ3}X{BfAu3e z41a)}dGc7pTrDN9h{xZ!4Nu}BcMhg>J0K6{L7lL~tRa0n2^YN)$WdQ=?8<6QE=s&F zVZl3FPq5+79bTEO$l=rz8Pn1j5`y(K5YTVjuiVz*w$s%H+{uF*3H2r=2xMo_Dw|Oc z>dA_I#6-U-lT2@zJ}nQ+AsppO^M++W)QOm*K6S* zyWW~HNP+oQwdDrB*4AQkLPbqrfSY|GV6fDAXY^12$?ad1Ya2GS2j2L(t~{;Ny1cr@ zR}R6jf}5m}36a<-1TOQhroi1v{Axha{DHOJykRF^Ic+VgYu){OAn0FY!*j=`bZiC`JcDbODw$5d2NHyEvtMTn-nvkUrH*qNmc zm{twupp1jTe9}ofCGpG>-PPmldqq3@xGp3)&OR1Z_yESf$~+F=^}wY=1_#7g{NPbT zgh%A%ut6YB@?FL!T|WleHUwAI)E{|A#;jZm8N}J787{)1sJe_HC+6Q@FiDi(w0~04 zUwk^4ibs*7cpxdw9t}x#U<#x0&rB)MX=QkdeQToE;hxRSY!u?G6 zg}TAJVCnfsLKF3<^b44uzPdA$^qWv#^KLld1bF~%d&)oBPG+Ny90(%TCB4L)JRs~m z#T-i$RSp`DIbRMXVN*ge?Q?;YAWAGTxOmzRc9cmfVt+~=9bKiA4b2z&HW3v~BV|I4 z69_j>nscp6Q>gU)>Z2;oJsIieX(?Y7gkQ1m*k zlj%nChr?QHwv)K>OZnY z+iVa?j%udwTvtLtgXrNjCOLFNNQ4@%(v+ChfULrEqL$f}d%~9Haow@SOr#vsT?$Za zN4BJF`>cqa^p2pU?QPa)xS~vMnQ}Y^Df_IfuU7np)XIA~%~ebU?Xtf2C&IW$t4qkcwg)D z!lE9lfPawBI@`aeCwX$D7pr-auO{G%?Hf_wRAUDC_Gg2%@%1oE4 zXo7b{NVke8CzTn<(;>fR4bo$qllRXnLDZ7zJVB)c?{^92D@^{Sx*u6Gx%;h4Y|c)} z@NGzeD6e2SiG<~}Ge&hkGX_ahYf-fhAEB2C{-F6O*h}OIfmHq8a2FYG!N?9Nw>n#? zw*;iqsYTQ4VZ-I!Hi)lE{|mG}Ogl)~6=X;%eA_FWZb@IKyllvoQ3rM!%i(gTb@fYy z!>dn!(M3hy1!A4xCkx7uWlbM#FM!KZr?P>&i&bI1Qz6<5QD?f*UW89*gq2QI5uIp8 zJ%;42n2iTh{4^TC9r&&7%=Cev3DJ3w6R3L%Dk@v9#2zC_h;zzg z3HU&{L{3w|kEXOqJd9HDd*#>9g9^kpw)Jp;-7=&vFsbXdMZ zZ3Q3V!P)d8$a)E1$uKqj1jwK=YBz&); zvLwP=#z)|16z(>djLhYD1U`8|G3(8yn3h*|~gy_F&J zfK+cyw_Q*`#f?J9|Dp^rg7^~ne4L_6v!fY1j%-Ei)u6LL`ed19Nk(PKq)VU&O~p~A zQ&sMDm?IfVW{h$;-Y8eb8>JHT3)gs=lbx}+ayWjxTp2&k>KP@U)x*x%%P|OI+_GnW zX?xNx%lMg+8GgB38DB1yEH6zeW4@_8U9OBzm(quO)`2bdr#*~ml&hC3YcyX+i@MdiwPRC0s=Be-Q!kHbo*p3F9*q+X?ukg?6c zZ8TW8G##NW2 zt*zE%&OUnDl|z+BLTUt*3s-w6+*(Bgs=$P>gt zc*JA6ISeJIb5&D(k2}#RW)0>1dy{QWO&7)MKYVU%;5KN2IV1#dlkeiTtzrvs3|p zf4EvYi&5ayGz1RIy|b0ho=&GzS!SXh`vz#}%087q>xCBOx?Ilqnp2Cl^pq5&vpJsW z!jy|7bgZZ#` zeJ!=GZfJR_DWf7n#KI7}Pbg4$o)xig20?6q5g@~Aud_@MxCoN zwyD{d{)je170YAR@F;ZdRZ>KeF6^HT@8R(2)QzkzB2$*yiYhkORaxV5NV0~gBZFUJ zH&lyvmkk+1ASlp0kTP`;=6wbl)}$7XafV%G1@@bku*ehmL0wAD`6O`mLK`U$bWhR60=F!4U?@v9RMM=-LN4ZH>b45yvVt{$%Ru&DZ_Q|jLGNWD2L&)@llXEf zImEK#JwTf6*J+}Nwt0BJydc1a^=V_EjM0|~8N?7=TmfetSyIYC5J^0>p7It5yvEPd zaEw7dNPM4dNf&l#dO)Z!zXa11`xo`FHEiLolY|>U+_bP7A_AMk7KT_zlYKJXx+I`9 zR-1tYBAJH=AGan++MzsyfEXjc=B4x?i{>(vWUVtfiVkj&_V&1n3$Ch*;$jx* zsuP)qdFaeCZ4v${J;r&c29AP5v86o$Y;@8UX}@e#wU~Wsfvg*s zJ$G9V4oY;%_m32v)FQvEj3MvqUdu6{pdwF7g(387vV${!$$<_ zhvOlBqyRdY=Akaw)?2oW^Jx&|Ucz8az8^?!v}=7s()Hr>D`yna**cX{Wc4AbzhF$*(h_|W1z6fBSLFpGZQCs zp}$K~>I5P!JY4ecvoqRZlp>ao0{KK=+?y7`yxx707or9e@H4`?-O7v#B87o}90;l2il^Fn@KIb#u`!0wy%@AptPEg5`bihk5 z9MHO`#fd4kDqFEO+JmWvAYw|7dFKvw+B%K4l#It+5|yW1U7h2i4KbZW8*?6#q&C%Y zU6MAr?~tRdALzUWLfshXxs(j#@o z1@_L>a)Ml%?2DW5jbi@7EUf*+(-7vRA$=rpPh|BOMopS{S5# z^2-c>;8nug<5HJI&GD-*3`Bz}8xjr1S(LGFrsUFapG=u#etDZ6ZjYp8z{qBnjoz5& zn9G+zeO(T;2JOIgl;K)93uXK1(iN|$xk9Eh3$aCcjo^FrGf_u7jk;{;akinPcV-Gk zW~OBx3>kbNWz7vaSAj;RW*2I~PEy$oEZxYphl!x#qyzbG;&8F9E?jp3#4-bf6-tB3 z9Y4f!%wh(bt`TKS?~?WUV~+z8lB0`T;@Mh>bGVO_lp?ssvLrUt4RB}UII23G;n>|& zV$-3A46+XRtu>`EL>~lLs7&4;S8|vsV87fqXkJnW-ejky8upPP8eQXvp#dAr!!a2D zvpk{^3tzJI89f`km1Lne+7@iVW+84E$!Y6l-8#RF7>!sC4=S8F$Lem?lfr~V)Wn8*{J@T0=i|LhWLe*yNw1g%s%Pi95QVX+;j*#5@uQ@ zJ}t@_EC0zF02CmCq&5B(%MS7>B9a`=L zLRsVwy^guk@IaPpjtv}CRqlNWQtz=Ed*h%Sd#6#V>ykV0{lEnovnmCxGaHV?w9Wou zf0)7?G7l>Ga(8W}(YrPLwC5lsySAAcGJ_0nPkLSm6PlM_+*p&hfy~uMMu>iD(Wl_O*^TipnYAHS zF!-g{V@X+V;&s_*(?2eiS=H!f>pD!z0O&H#w2e?^VAs0hb9c;B(~xbB@^0AQ2pF}! zeC|*_xnVrUmK9-!X2{crW5sj4;`&(3sN{IWLD-I)3AhZvf7E1I1zCMDP=c3(`f`9z z(zeTSS!#|w`l%)PvI+so@3IwPYzo2mLHwqx`#p$5!4(+nl~CI`@?FRDEMX_XxT|o zETXA-6nTfA4CW@r(C0K&Svz9%7s6HK=L{>j*vxV_m{f|{)M%E2IOLCP9t<&*N5Jb0 zP=yY!)YgT^uY~f>l7|d}IP;Wtn87u(H9rFglGThZD6c}M@Z>s(#RvE+XWjgzZ|x}0 z{LIYJ>6|rydDy3MK`H}$^3qBG22nsN-tDK8cloUZUCpzG|^U5^Ocj4SGzey|JDM8|jzLYZQ+H!6n zSy!it#m`JU1w$ajY~IgcOvX{KEV^^vJH+SIU^=BkTSOoIa1hrR^GRkem@O@ah>8Ku zHOZ(_H$*2#Io(pR_@lN4EhogXt(+lEYgNg{E9{8;Qj90FC7{7fjKQ@?ICHSJmA`U! zl)u#Mv>RCZbn_D}VaSl_k+7J_iWEd}JAKCDL>j&kpUrV9pcudTxmZ(KGy zC~r35wFXqKIX2+7q%qKgH~O%t&j1I){*2jL?k{bgFoO52$$QTW1qbsWb6KCcp-6?E z4P|q{zKt;I2XB$6R<<3b48d*(MxmZ9 z^*cw&bCd>uHODjKLN8l?;hqtH_x;bpqM0+ z=4u5#v5kC(NevG##t-r`#RWLGD0qOIUIZj-ucq7ct(tZ6?Fi`%pSoNUbF4cMNBkfJ z^U*iZ#9-P!cfnX&!CyHWz+aN?Fxbe-&Tyb3!N7ZWhR)o3YyM}lYiAN?vU8<+(b1yi z>NB*D@(T99|40T`(0IkF%ioP{#JCH}9qVkTA8JE(;Zhsx9hn<3EYH0~-}x*Luwk9K zW)Ssjb25ux_N#ijZWcFc$7~++0A$8+vDqVYVpHzcIa@)u&NDHKsS}y)``Kh-sTNmE zYu}`$`i{&I#knxyQkD?J7qRHtds;&=yWqN5xWaAf;T*NKBahRvA+T((m=Z^Z?0dEw zJjZ615X~Y@OSMR8=+313gihKAm5CZ`h7vXGJ54FW$~Ai|PGKfX+A+(&VP4`s8wuB^ z=QEvXjFA(rf-ARXG%m&g`@~+ll#qci zxCa?;U7NE{gP0hjbNb>6nXbBhH#L$g2$tCIQ-R<;XuZ)v3J!ns(q$w4A`ijF=bJ~Y z&)5!pONWPSzmYresj{~&O>#@ql`1Gpx*VLc&Z)9L;41|%CZi-`_jl2Y;AQF5(i3g- zQyf9F{cL_6+5Ea|WI!Wjwl;j34J_5%cRZg0223NCr#s=Bl>%OS?lAE~JXYz0sSv=xkPvDbw?}c{v8&ldS4wnl}>+-8OJh~05QgTHc$=b zVB@Z~IO4g)?{qS^)AjOn-6sCB`wsD%4&3?6Uf1Gz-CiA~JvGD@2v!-fnDSttpM61! z&WK(x`-glzYdm=nlRe&XtN-KHK@6_OpcJEVHzHGOTV{H$;V`Ha)yMg4XfkJo4dM(*;1ywOIeepu{cax z`Liu>W;npR`M#O31F=im$d=GD3^=$+opAPqUUV`0SQ=jg1yn-~Wtdkex>Jh3Joscg zX^Zz$VWe{EUZAo!{slAe$`5Th-&yI7*#m!^OVOO17H6>*E;#S~ljl7!nb`B76k!fN zbN8SWSqeMXv+m`&K4i`A*uEl#GUpw8iHOTQHQAimpc6^xtn*SffXAugO+UpoyUfTu z#BiH6n2EUpU{Ky}ETr@z*iK2s+RyJ;8%IucMF#9X?fgf!meNYu2)GNb$&8!oF)6Lw zS}wQ@^XLZ;aE+G4rg%oPEjUwRi=L1$tU-r|+OzGe%gk-q3VyxNF)7R(7>n*I=ei*LUH3l&Ye5czoW|muNu0^fGhCXM;O_I(f(~Bbu(=b>H7eCe=L}^c zCez|U?Ix{vac#kOP@&E!C_pK77-`Y8VFqk@U0oUzRM*av5x6O5ZbUivl zSuEud&uCNgxJntdN^eAlSz=MUCM@fGS~+74FL3e18x7~K&oUg+sx49z?MqLSj|dxP zs|=35GK8rhD<=v9afYFE-6IA4GS9*Tev0)*+E% zYIAXC*~W7yXR5ilFy{A>ITSo0_PxAgB!v40OV(K-59~%zYOi$NH#5oaGp5JhY5mUK z*FK59W)VFo2r81h-BFB4etnsLM+b$I`&H(i;6ls*JeF8w>kbqp%(pprNrv5%Q3F=~_TuXhin zq-7%$$QfId4E26C0&&saL&u9?W{g1449~hzlCAbh9?!LNzeT`nXjx!}cR|o6f)JOn zP=o}sxs%in*a-Er4*2`&gARvX8ek~r9zOZBIwBPohtB%I$!aaK8!!z%^?8OxU^Q_8 zsqUGQ1tgYr@P|lcMmN~(OQFov1)uHNx02ylnJnnVwZ!D8J{6Z~p(p+(W231+iC&LFj;5ajg3rZ<>x5{2Q-|UOCN=C@woN0U@0(M1GCKZ6rDUyZq zA2M{dYMui3HVg)(XP&R7eZLK;uTcxn$aX4_c&3j+>8SpEm(iD|BER_t!J z<+wFfQSvey%FZ9bNWK@zMclrRGJS-n>Pxdk<*9b#Fqc#9DB~cJ?KWU=pTtdii2Ipg zS7YST)^j}X6Y=WEu*3YujVB_ za^v->wW%A2O~=QHfMh(;4yE@n*lK02QmrS;%H(B&)b)mVbh^R7>&9|q)2;<{PPo~P zoK5JjnPQ0KawMGzB|1s_E_mpOB_>aNsu(j3q^>}BPso8_`qPS5bI!9x^p-4>wC~AP z$}`+hh&O4e%qHQ%nr3AwG+zj1b&<;v(Wi8N_na(CUB!jx`g2e#C*Xx^n#y;^uey{X7&nz7CRBh2 zRsAy(f4Zn~+Ug$y%VN2d%t`i(D?I8IH$J zkdx{`EY55l2>0l~Rp618@Z`7#2ati0KvOq~T=yU$MPHoK2npkr&4{D0)HpLQ7qTgT zf|)1@35OH+#($J)fdARFJ8hj9PRo^;iK615_dUhzT+Jb^tT^2;i^RMm{kTsxn+0rj zrB@#!DUSWmufsZEvs6uwk>#if$eRuJ^$D-E7RI=MBRY8q1L9ks;zs#@on$MntAXLi zU^<_}C;o+UV#mBE4uyx!rw)}2fS^laeK)M{)wCzHrIut-ZvnQx4~u)DNqwbqZ5mFgl7;#FBJve|Z>Y1ejw z4Bugux_>t3IY37)K#S3gelSE-CK>nfSWK3`a?pvt^lL0gC0?zKvn||X9&V5gM1vYA zDl^ZoO-)xLCEdb4+rd6HK-+QBskdh0q!U#vAxjdF91aaDY=E3|47rGTGY>>+l8Ah? ztwas12loKQn0clvL{P0=)mwA(iEzA@j)1dhWMHX9{_Bi$bgO$a^Yj8OF`H69GAJ>d z6ZL~gI4?$>h!Cc-I@R`AJ((?)W0hM~SIFYT3{J#}&A2Wj(wY?QPpUHO49^?icvFvX1Ue ziI=9Q#iWfq=q-m|9V_3@=wvkU{4S|UAdOBG|t*%#7ijY+5QpwD4;X@1-$ zsxEcwPTdqTSSq6AE$IL`I-}Ov@7t|7Szn#4U=I9l-MQZF>`gKK5KMZ7!di3Jl7ukbGp<>n zzA7KAw6dN(liq5Vg|n_DOWrha-DHE=ECjqflAG+$;>;-$Gi!ID$JfYk3diRRKGlmgoKKfQ$;$`m)`d~@%t?#m7f0Cp>RMR{ zux7tDm~v`2536q2T5+MI8<`cL(qyL6r;9%Q4GuOEg1p-?lBG2;2fO39MD>}JO}-0k zOzco;MW^Bg5EYS34WE z;g_kV;$$851Ivk-`K1!_GG@D&iKBirD3Pi!hB%H|To}RB4C8{-HcnG@Ev?P2o8BwS zkmdS+s#A;crwLteflmp>mIKNGM*<8?M_pWcr^Y-S>OK8ADq43AbP4B-lg8`?ZWwbO zZJKR2qfMRqLey!;n+`?EEm5TvPjuSHqiPawI@qqwH=@0jMq|_7PE<+i?beZYyRosl zw4^8^(@tVOqwGr}j*7rU3m6TIaI)3ty2nm6OLkpsT2y440CJD}+-RqocCVx+!QcTa z>sJXRdqwA;a^y0Ctox}k(h)cR7%3ysTjrdZKJvOg&qI{nYV9p9-;0$vIp(XdxHeWG zSH@84b92%Lx4|!WyEAMN*DJ-; zWkv!xLCdUW72GgouVQB_YkjWMhlF&z1&8PgfH6Qsf-z?XY40 z40>^Pf2;mGH{4$4sc&0}b zTiT=7g|(SR1m;YO*FBUX5tWrTU=UNzQ3E(Z57H30WM5$F6ft z(tHI+OBsY|qOdI!CQ`Eb&N5Sm2r&rF2qOlS{K|pfbUgSj%js=-Sx9O~n+ecvR{f4I z-7Mh08}M&lEC%$v%aj%A`3_ySP^9Pmx@<9!ow5Ju-2qmIp6@heMS4D}%NC0Ce2*@3 z`=@u4tPVZjXUdB7+|gwVMS6~PncF|TOIRIxUNmJzdVaeuTPV`=J9L@b|2y&ByI381 zezz$r((_}wY@tZc@6ly$|Mc#sSRH!)X;W6D=bzVQ3q^Wd^BOrmRTM zpZ{}(Z+Wp$q~|Z_GPnOP;=4a(b?EuarmRTM-_>OcMSA|8E_3^*ci(4q^z&C}u8T!_ zeuXYuDAIFLm%07ZyK`9`dR}MBiu8P$E?X$l^X0nC?VsLV!RpZSRi>;+&s%iaLXn=w zbeY>fz1zy_(DQavR;1^WE?X$l^KH7!?VsN5V|D2H4pUa7=eu>;LXn=2>N2-~dUp@2 zL(j)dS&^RWx@@6H&&PF{+dsW~kkz5*mMJUJ^P(G_{@ zncF|T`!1_P&tjhDx>%&=|67+W6zTcTb(z~gz55EQL(k8fvLZcSyhLLz6zTa@y3FmL z-d)1#(DQ3dS&^RKqRSSF^!!#`wiwX!hjrOPk*O2%KYI5OU1u?%=ie}8MS4De*{q44 zFVJO+0X^^0W$u{t?iO8VF`(y?DJ#G^xQY%!qcTfUk-Ce7y$^}H4Xdj21#tVqwFJYo8x=TGUf#ekka{Yg{LUMIc#JzZxp zpyy{zS&^Rq$EQqR^!&%VY%!qcmvos+EA;NKb)Ch4p1*0ziuC;TXUv%N{0&{U7|`?Y z|ADDzuan;Wfv&R{(DNUevLZdd=MPO^^!!u0%;j^muY2|WE(Y{`n<*>ObMRCw7K-$|PnWrCqIb8mI`q8Xlojc@rOOtI z^xW2EZvS)m?v1PtJtwBDNY5YDWeY`m{+KRX4CwiDy3BG^-^GPnOPD^7N4n5yu%8K+{(PaxodY;l{ZvXVI%IeVbv?(jn^Z(Rk3q^YV zvMzJ`r+0tG>d^C7Oj(hhSA4_3pPpChGPnOBe7B0#q35$qS&^Q1>9U0)J@3|KZvX#p zZC@TAM{%uNM#hW{g2D^f5Wv`A3<<&`TefVoc$10nCNzc+6KIcSM$#B*M$ELjB?pp_ z5SA>21PDtYI6w$t4`By`;Q=9#a1%DO<9oAlNgxm)354ML>#p;iDpmCe^WMAlht8+3 zPM@moTDrQX>J;LRFm!+yX-)#4!CWAL&txu40sn|Ox6iwR;;v+!Fa>S;Caji5_mpyuKhzP z?l40Kc!B05a4U0x1U`y6*FNHw89Kl#H79{9%mos-%A9N8r?`GY2Y5hp68I;~1rqog z=3M)T`>CM=e7)u*@C(cZ68J^tT>CFk+{=az@D|NU;O+mc>mu+d=3M)T+riKQ9-}!4 z+{|1cf#)*k+Mh>p^9>!~!!;*?Phc*Pz$Y^2+DDvc=m2+UP6CI_1rm6GIoCeo1`QqH zQ#2=m?_n;G!1pre+DF_*LkD=1<|ObhnF}QFW6Zhs5%;*E1N?;MB=GFN==uXZhdI}N zGsVp{bbt@loCIF}S8X471#_fN$2E1b&>kKmz}YIoCeoer@Og|3-5X_z%nl68MkIx%LtFCqoDL zb6nUlfV};7f9fXm~-tT z?qWj+_)^VD;Cq=1B=AP&T>JM?-2H|Q@PnF@z?+#1B=B?0x%LtFyrBd9lIA4vj&JMo z1>T7{*FNIv4IN;qISD+2xj+J^nRD$UuF=o|Zql3tK8CqK0w2qqYael+GjxF0Xifr$ z%mos7fH~Jb;sy;J;8Qdwfp29lkifSw=i0xW;_fhXfbZ6v1b&0LKmxzXoNFI(e>HS~ z|E4(!{4eGL3H%{*u6@M)+t2|Pe?wgiCGbM#0tvi`IoCeo78^RiOEo8f+nEa_aE3Y8 z{%VRl#?S#iPID4?uXk`yfdt;0IoCeo_AzvTr)W+BFJdl`z>Ar4?IUi9p#yxR<|Oc0 z%motoZ0211i2H`21N?2xN#MJg3ncJ8%(?dOrMQiT4)7+;N#N(13ncIh%(?av_oAT# z{EFrz@O#V!68P`Tx%LtF4?_p|1I^B=Duox%LrvnV|!`L30xLN#+6x{1kJpeZ)O&=m2lloCN+i zbAbf@h&k6j;8mN8EP|9pLY2P6Gdgxj+J6!<=g$aX&S5fUnn_1m4PAAc4i-xtyH! zn}{1>=m3w@oCMyNxj+I>Va~OWxT%H?@HEXy;CAK$37lchwZEF;jxltAkJFq4K7qMF z0-wm7Yael*p#$8ZISCvx7f9d%=3M)T8#Hu)PtlwNzKFR%0$FUI-_QY`t~m)j$Xpx3!bmoz7Vmw%w|6L+~!2QgHDd6uh z=cb9c^H?WL0e@d}5_t57$VVW7$1oSBfDd5KO>;WM9mqOi3ivaclfaiV7f9d@%!Mi7 zjm)`e-bZowvrd=-eo%7~IQ?&ZpTLdGg(=`w%(-c{QQXn26Q+PyYfb_`!dxJMf5BXs z0{%U7ZkmYu1M7q-;MX)Kfj{?=zE9xemvPM88-uQ>_)7v=&9{04Jj z3V6&`oj1GhL)?z66Q+Q7)|>?X3Uh%3K8?9B1^h$i-1|h_<*XB?fUnS;1l}wb#@UYc z@Blx@T$lphe}vYv?{gZ(9l$za3iu$+Nnmd~Z3}oUb72bj2Ik!RypiH=Vx2Gre2eBJ z@So~*n!v9y7p8!lMru9#K4(+h9M%a_!1FXGfd{wOwt&|&7p8!J!JK=ak5b$(Stm>Z z|4MTbxNZlXCh$n+!W8h)%(-c{Q(T61!W8hanv=laOzAX%zr|db0)C!3H_aC)?nTxK zQ^2oiP6AIDqtgW5jkz!doMX;SGf!~^)(KO<-I|lYm+z?41m3`0m;!!-IXBHWDekYV z6Q+Rwra1|GV7*Qg_#o!O6mZC#o8|z;4YE#{0zO4^68PJ@=rn=PVJ=Jo?<}>R-Bu8{ z3+sd_;IW#Mz*EO+TfqA<7p8!(V$Qu!#Qm6c!W8f|nv=kHjn`=c-_2Z@0-iTP>)H2- zxcRITrhpIEoCH34cWn!}ow+at{3LVkeIo8D)(KO<&uUHrzdcE(3H&$a!W3|253Oh4 zC*rEC6Q+Oz%}L-hKc#H}pT%650#5Cv_3SheH=1?A6!1=(lfe7zqiq3CW-d$tZ(z=S zwut)?>x3!bt28Hp@7PzT34AAWVG6i;iq^C56LE7{Crkk!syPYV$y^|TyO?vo!MZ7~ zXy^d_yXqKG`~-A7qU*60=`6Z5_rn~I!)lI%!Mi7qnUHlY^S&k z>x3!bV>Ks%Utungz^^hFrhx0G>Acx>bZ3g&g>}Ld@L0`B;2$s-NZ?DE3sb<4G3VYV z;vQ$6Fa`XC<|Odv4$%1rK90FC1$+i`ZkmWYlXb!r@HaFkfp?j%(*%~xg(={}nRC-b z+!3r3rhpe|P69v1Tp)oTXD&Y=cZYrxH9X6Dd39cB=DKc1rqoy=G?v&ac3Jk zz~9oG1b*_<`ksKFVlGSpPyLM6v)kf+6t_R?gelP0v@F~3B0mV+X7z2T$lpBoH_SCH&EP;y<|Od$%{oosiOjj}A90fm9pF!CP68jtTp)oz&zx)jMvA-1 z&;h};^rGVz=vy20-wxWAb~5)x%LrPHFSUj%}L-(mh~l;yI*jL`u7nb}iMc=m&t}fGkGMI8 z4)8q9N#GNi3nZ||oNIqA#bpg0;JoG}@P*6;68IwKT>FT-*w6vKRC5w|6LWzCetHpa-)An6z#lN@+DF{K3?1N)G$(GU;QN?!?f-A@ zH$~d_8+ibJP;(OaJ>~)l{CDQu{3Grkh7Rxtnv=kX9IERN@C@c$`-n>$I>56uCxN?| z3nXwibFTgW?fv>lyJ+MAxJPpm_(#kI68H+{-25Z%N<#FT7(a-^YMRO8(rvKs%4`wcqzzxi~_7Qi8p#$8gISIU$ zxj+JEnRD%TP+ZQ?0q)eC1U`+qKmvc2IoCeozGmnEpP@Mkd@FN-1ip68Kr>T>FUIZ0G>Lpg9SgTBz#}@Mz{-`(r3>M?(jAXU$3A1DOjX@IlPE z_7V4KLkGA)a}xLq%moto1m;}(CsLee=m2+UP6D6GTp)qJ#GGp%abGrcfWN9a34Aki zfdu{;bFTecDDLNm4)E=olfb`aE|9=aGUwVy+*5`Q@Uxnez#|vw`UAW@bFTeS6t{z+ z13X4^5_o^+0tq~gIoJOG_MUR2eSnb%;Dakm;91NC61a&u*ZypZn`7tz&(oX)_LvJK@LJ|v`-saL zI>33&N#O4>7f9gqm~-u)PjMF*I=~lcP6BUaE|9?YG3VMx-2H|Q@PnF@z;7`ZNZ_}b zbM60);@&ZIfd8&J3B2bLU4MW-#hhy&aeEm$z>_s6fmbpYNZ?h>x%S&A?r1{?c(vvv z@E~)61YXaaYael6G<1N!q&W$EJ#&EszJWQ{{*4rOlc58Ai{>QoX66D3{2X(xeZ)O) z=m5W@ISD+bMVBw|j?B6CccQp@LkC!DP69VE7f9gQ%(?dQ+s_*PTT2S~1kFj{i@?ylUV(7`e;^MJFWP5tbxvXEVh@;0v7nb^a z3zcHd^DEh+U-gP5ztB~vh#BLf$YRN#+35LVKK)nre6cjf+%-SHz_g~!!O1#$a+1+s_*&PF0pBn5Mi<8d%hUIhY-CTRX^)T zx3=dLA#&Z>3T000wVx0@xpFBGyX-B5-z)CkUkGoZU+yjDys%u!i-#kk<~>alq9a=^ z=Dez3DVDm#_Va}B+6#SNN48oJhthvy??Z<%^0h;S2y^~mUzEXf)IXJMsp|P+%wfY^ zmme%*SO|b4Cnsr^s;=gbt4W%_?RPa(L6YXI0U^94 zg{ogE4|>`D0dajqc>SefspuE8J;n8feB6_WzeEwOexah8Mif366?I2ZSM>O#5w*Lc z_OX%4qV7pOb-4sK=;fq;0;@Q5>)Sp^jqn{9&$3 z57+ygJ6z<5!-QDaKOinxWIwAZOU!5Wz!GjGuP?D0Np2}Ok{6fTW~wVqGh=D>zZV62@M-Q->^-)tY&Acr=IrmAW~N`rW{$qlGV|C)Y-Z8r zwwa9^Ofz5j5u5q?k1R7EUBPC8pW0^LzScBz?saVDuInr_jW@8FYkzK=+5a}v%tN=a znKy2;%yiztW?tE7oB90xrkQ`<&t~@BWSP0-0X8%CQQOS7e`%We%wufkn8z$LPdv_M zmOg2ldEhD2%-W~f%-K&{X105l&8&aPHuK)grkV3!VKWoJ*D-&ZFwi|;;UX?IU284#1}xs=aoi7yGqQ&gW7UM zd>8TAO40A`E%?Qp_}M#da<9dDc5+eJpALb!g5>Qae?!s^qXM;gu{%`qY?5Q>;1xTZ zNQa}O>F|>!ByqTj9X_OkO-`nROHL<=gGuag868UUX*zUd0ZAMxVu#supvcziRsP4* z!67)D!wzrJ!5r7o!5a^e#K9VNc>OkI_rbfA{LXz!K6Ag4cK8SBU$~9>2i>mhoMq|X zSHu1s(m!Dv^`EChK^~=pI-VhkLp|)Uh4dfZM*TNP|B`LgAN!!X-)HGSkUx{efgg5Q zO8T1~QP*w%n39VgSJDm{(!XFE_0J&vGc5g2*RX#c=^ww1`m27e^7%f=gXo}-5=lGU zL;Tavs_Xtr@)>gUV23OIL+O2&^m;d||G!*A|7WD%wT=4SG&=h+zjD5C(@6kT{qU5(h~_;^0R}9O8%r8*#8ABo0D^#G!^b zzz_!wLgHXRNF3w`iG%kbaZny44z`2DL3EHfI1UmAy+Pt&Hb@+Z1c?K0AaPI)4voP< zE|55Q1rmp-;J_3tih{(UBak>i1c!y-P!C8P!U2gxGazxu1tboofW#pZkT~=K5{u>_ zao_?DSHK|%kT|>m2NmEz0Z2IehlF!}NI2SuQ++tUhlJC5IH-psc}O^ghXZ&xYKMf= zbvRguBXmeOHHQOpI2wn9({MNlha+!DINpYYqijexwuXe0YB;2ZQ)xJmh7)M~I0vWA zaL^1#%8+n;3<)R3a99k-!jNzT3<;;caNr9^yO3~<3kgTIkZ?Q;2}iMzaQX@duW-Z) z3CF3BaC8a@r=@UE3P+-laQq1gN1c#xx(NrHaD)j7$CZ$9GzkgEkdScX2nolFkZ_a; z3CD(za6||R$AOS=^alyYe2{RY2MNb_kZ@E73CD7fa1sZHaB$oP2}f&?aEt~CCueYI z2FGKNa1;g!$6kdgS?hiG3wj^!Mh=7yBnjt7b~v8muO+#W zBpesn;ZGEQ7&-H4BMHYsb~ugVe@pWBB;gdu4im^ZPl4nBNjUVe!?hIu0m*uDdILv2 zc3431=aRgVB%JKn;VFurLQZCyNWwvm9Xcug4w8?NgaaEpyif6;B}XyGlZ0a$JA8}c zUncn$NjQ$N!(?*cax%%&Ny6!i9d4)iN64YeizMO9#SZV2{vD+E7n1)bX@|qfxywp& zxRN6Y$1Qd^jr5NoJ)h*)N!sBN;-4i)Eq^8nCoOguP4T}V`60=Aa?WChmBe?GBb8H0 z!Xb+tzDxR_C%tn>UQW^uTZsSLDD|V`4&*!q&R6U(mGpi`aw6#;NYW1Lh+j_*QochH zj#lh&1L>bcdK*aojHDg@M*K)}hBApHoT}KNX|%e}_edT@`twQJ;S}P}A;%|Il7s^l zJKRtDUnadK)cR0yaB<*l6@u!e;l<$&+^AkHf zMf$y@cLm8mlC;AX(m!e&_3L+5_xop(Kd0*+s$qW`Ibs=0&QT5^2}de+D3X31={1u) zg`^z<(%-VH%Gbx~UrG9>k$x-LT~ovUy~JNbPFpsTgi{tfY$g4RN$&}gW64pA9d;V0 z@*QlW{#?@Eo%CNN`4&k#v{SkZ$Z5+lB;nx24i}Jqn)EtJUQ5yrSCIbB+o=B^q<_b^s|?yMU2UnhPGIg@#hB%HjuBMHYf zc6g2APasD!>qx>OjUBF~_(|m4Wg1C1ld(f5#Xm#xzevInj2)(u)0OX$yqqK)wbOFD1P{k^Cn~JIo>H9tCo^Q6UM(9d;NX{bthp z8p-oX+TkhUN04)kok_w;haJW@sP^?V$$dzF21z@ViT?>X<+zn39CFy;eZ0pCg2nT5)K~V%mGdpAmKm(&Jy6%01^%g;EVuH10dl50Gs`>DIXFW?6H|1 zo8BR@fgPLGv8fyq8^p009Gj}``DgIh6b*?@%#hd=Y|pQQ$EIFLY{G@ardddAa)rdE zR7h+hg~X;$NNm!C#HLC}Y=VTurbS3>GK9pYKuB!jgT#hBY`()LIY?}H!{#<@LW9JH zGHf2hCND^A*uv&4Y@&k1hA3=)!X_n1Y&gQ^B5VSJ#D*Sh-oYjtNNkwF<``@;vFFRd zW0MFZHhf@n2R30qVnYQsPhgV+BsMHya{@LIKw?7x7XM?BJ|q_0V{tte!9!v}I~K2F zkvSw5jAL;)7I8yjK{gg&V*#}j8mfc6ezrq2RQ-yQ-9Yi0i$2j%D*J_og^OAbju!E% z|GG;34ITZ(p8UbZyomqn&Q`lcLw>MS9qd)ouc(-yP^lKnr6K=#712;B^kkz82=(>& zq9IzKC>s32fG-+4i>0DysFd?rKPwsv-Ck$3e$?yESM-0Pp(~g33In-9U$n-!qo*Jm za(=l|6%BbM*5xX3cCx+2oM`AO`|%%@nzGzct%`*WGp=9TpsrurpcK9^lN2e~&+kMb#8xB!_h!}g_h!`v&(VD#|F}=clY|f-8P{Kw zSJz*ZSJ!W%bff%7HjsaW^;9OXcU(bTe_TOntR+RHkLz*&r(4(GN!Q;=*LO#SOKC@s z)V}^4dahCaqA{f~4I?D9X`y1tpNZ>H-x;}mc`JhPo|UB95B(qB+f7d-bA zu2ccnAzWfzKXIuVyG>lGN_uA~Qb76$8|ZpG|LJu7bh`dd>jFGKglnwpw;ZL?-*S{n z|5x<<5iE1!cI*0^+tu|qx2x-aPxT+cPCu$&ktXtge!sf@{C;))TB`u<^q-{bqc#+U zvo2E=|E$Z@^>+VZr~kZl{WWy`HFUjQUiS4{tn2Tj>+huNZGHRyKL`=mUF3fgUB3zW zrw4=jjq8!GH?8!yT(0ha%jN3+p^t$7A>XmCe~qqxjjlfz1w#SXL4IgmKX8Rgf8Yw0 zKJtlx>kzgZq1rU=e*;~A7G2+M6}VlVJB(2EX9f&X!1V`#prCT4u8D%A>+Nt0rT>+v zb2kF6N7$#v^^G?w%}b*flo9Of52iLv~iG((*j$L~Kg)QR!@UNb|Tn85EV zGt`OQ_&sEXIzYok%C-&fe-VAl|*MuADoUaHK>cn2Ia@-#F zuEFn9gSQ$vg*ve>;E+%!tU(Qhy7+6x4Ry{}2-ZGhzCrkI%EFIxlpi-dL;6@FdKjr} zU#IeE+i9vxwzIYdACeucAv~DuUs*%{?i&1W$quijBs=dCk2zR8&q*Uy{;`%F_da)I za{dQNA8RFxWdGtC`Ztq4)?VjGe@hMh_emdf=g8-T?NvR&-k_VPAsxQG%0Jd(qa43P z`oCdk3@V&MJbr_{i}>qe-VKkCKGsM^-|bO&h0?{If-%HzC4GF)Ba9lQ@`*L>G)*Gr z6OXz0d2~T;l)7Iyi~j+2tmhJsJy=)MJkwpo!*M_K|48;Rw~RN|h#i!DIBBQPM$r)S zZdg@=?<6}|1ND6xlwPufx?lVzbRe0$gLtgPx`+n9&3|PpQoi%{;_rg z^KNTWDqXA$~CYRMej&gwe_T_|Z|iZkRDzrHkK~aK9^v$69WTFxJO*>iM_m zd&uO4#N*Hhl;cA+(tVEfafsWQcma=5&j-J~-%0lOig`E88>8}%Jpw3~FA$Ht54f){ z6OTPKc+MMQ`|ddQYRb=^wAb)F%EDbW^7B*;{!L03Yu%CVxE+(rrFlnnU)almd9hyN zu}1~{%;m&mZ8@I9Z959Ft1{YJX4Q9C8)XRnyA=ed7O-W3ShI^|>rw zB_4Y`@Ej)Zl6+tDc2W7nZ``Oqt83_&Yw%~29qiQ#ssFr+cmh{tc&c;B@X zk3C}GPa__`t-{VF#E&7Th2Vd_YjS!0hV-#U0R7k-v3@-tnuzz;zGJC;$>|*0W6N0e z+;GrHG>;yIPSVF7sR=Z>a%ZgXhRwuJFJmOH!iQuBdjnDKQ^%?NV9yi!fd%7Kez3>) zRjTMGlRkcvNB#VMtnY>wNgsRGxc-k<_Hn4(-E`?;<5hmJW&z_FpY(C?CFZeyNIVYf zM*n|1*}+~S)aMUK9|sm=+%E+F_9XGs5cI+OE(dZ zJx%D}o+jRYKfX`tzDm9U4yAr(hux$6xM9!TRerE$0QLU};<1(m?X+umA!NdLnNRxI z>xg=FAMsdIgZB7hjr_bt`q(22JL4uM=l_6-D*xCci+enVc&ueXeOMpcspo^zFkZTl z^s!a}_3bgz|B$|0e@Bn-1=7db9Xy}yCaL^jPZ{!mAn{mhg#0X?r0NL{98$k-36Up# ztc5}SJe7Ftxm!f}xjwezh6j)??Kz8n&y2#3dn7;4$u;_O+3~n;rXAqrx5#!J;bIf)qDBwzn!593T(|kvc`uT~Ilk3CLlT|*k77^_tARcQt@jTBX9=-?g+-@WuYvhps zXXAA1d5JI~$0{-g5La zzat(#2JjrBiW-fp@1t^$=BcAFk@y>}@85%o$APQ&lKxRs)O}%%AfAsO>$~Arva^tU z_WUqfU?oJnjv|^z#oqL2o;?avrYiebGm88lNj&yuA4mG95|2ImD92lg$68+4d4hPX zLB;d`JMq{{jr!lTpUMw>Iz;P(qHz3v>Um<1)CL;2e24VmQvvnuLDI)Ty_i>dmGrU3 z7y2I(Z_ghdy1z;ndu#B0-M7EWCwvE>U%G>MtU*OT@Efv&1Mkt#|C98wryuLx=1x=g zv3DHLdBe15eD(I$v#j~~>!&5x=SRs7d@kTQ*B_wl!#4uHqnn7w8eo*;8sf3m8N5$C z)=+~#=YZt={ImxDFS3KRqv(J3nVxKCV7kgbd}E+JZX(|P-ha1-ouvmR+wV9~*@thF ztEe7cTtoj=(ueO2w9`okDLe4dfagD-c=#T`yh=CmSo4nO`PGA>eAe^9wy?7y=G|~N z*}>X)*m;_Gtf@vmKO`P&Z}I#me_G`qYwpor4kI4EA+Su~6yo7?1n>Qy5RbLpXcwDe zUWnKFhJOFPMEY2JjeL&$jLHwzG=rZ*Jk};7|Hl&#pA&d)mwYC<+@B?V__+8qJ=(v- z`t|Gs0R8#MgH?X8Mw;_;aI*blYVbWVU(Y_$E~ei#E+qR{V-EZGlRkU~V0^Nf_(y3E zI{KNd2djP~MZYH^jBH5G=adF@U-tai{2KbJNFTmyP*2Vz9&6N*|GQ&5^?ax~`sdBW zPa~fJc<*nmk?z<-R6gzb=b48j-&eT?|IL`M=YyRw-+pHe{Z~jIdtWe*@ps~}HxBRd zaWhmt;kyUVp?yYjKD$XDdo|F0zfC;$jDWu-wo}hO)gGn!geS=UMJEq!U%RD~)14Lb z_3TUUeOiF$rB(jz@!NXR$KFTG3tdS1@J)pF_-KuEUnM&@{Q1X}|D76Dy7v2VMPu@N zaCKwyeU-?LJ#N34c=!;*_xKgW!}kon*IptXK9i#L-%&`-ROvovJ?8^ws{F$z7{-$; zN#71v#e6;QeMGx>fb7`s@lmssee8ijy=ovHdpYp@+h-*|p91OI-$!2~-hO}mIJQ&I z2TJ32!zXLlf1T{u^Oid_Mfs`cy}yUh1DV{U?hC%xrV&4vcnJK#KX50#$#s@51(wb zoKI|=t)3eWF30nKo%G=|4)tyP9F zvSWY0e~)?O}zabA#&NC9fnLibu}>dkTIb-!QwWX^w~@ykdSJ`fsjK`*iaC zy}g4-r)A}mIGLsG3s^a`cmhxUca(&*Pi+tjHGm1sw9l3nfqJ_&nuhsL`G|uQM_>S-VOjUSm z)+|pqdtR5{T`6SqUN+|!gM!x=v^36eS-&C{R|;{OtIOq{hTOow&~#SLTH$x+XD;j? zX!gsQ_#lFoPF7j9bZMq#wYPfVqU9~o^UqhyUU#;X?nW64dfS#!3h74E@wL8SNn=Z( z@=!}d^Tpo2o+WA0ug=c)^%Y9_mbPWN-USPeT;959@o~p_GaF`o5_5|`Y4S=x<45J~ zcUQ_`be~;*w^yiC%9XZdIX5fio@z_prZaxJ*>$$x+LozC&wKR@Z?%_c^fGBLzMIHI zk8NUQrn)%Y5;$~Hxit4?2fXN%5Ik*^c*biT%w$^!TUw$LOmk639lc7M{BO7r771_t`^*UX8iOFZ*jS#+F?{9sx3j=YOj6S z>KXd3i_Y!oTGu$ks;%*<5va1drt~e3D#MBh4z%9ze#+H391WLrDc)0^q3JR6U< zn8~&lTg+#wI$W;gx6-%nU&-J{nQoolQ7)Z}76+(|s{&A~oOL|7WK=Fl^ zwoKX^`jBenzc-U@?H!u`+NmZ#MchrspVL+FqiwRat7Ln|PtT;@hdQ6Qine6tc5%;Moq7M z%b9A+oOsYt9&BkFz5)+@;5FL})fnNe$@jFmuYqA}oNjMg&q}DMdYn0xLbXr{3N4@H zB^$k$;t^Rh&X|ecY}J-vb@Wba&tzLy&+t@(s?|ZMs!jc3dS*{Kn_m)*7o%=Dh>p1$ z$a-`-*jc$krDES*#&2x2&+v&40?X3CLUkH6 zyqFn{FxpoeLyW3zaF~H`#xI;)yLooBFEd{nZObwmh%Pb^f@8! zez^(sR9h29MMnQs#^7nS*OF=Sy6r+RD-At^^ek_M@(Q2^+p5cm?rN^;6C<0&QWq?{ z8Bj0wnIGH5(MvrsL9=eQC0FOT!8fYGLc$0tJ?qGVzqnlTE5(j}zf6s!b|>l#uK4@G ziNS}(GQ-*&&pyy2ZWnIhwL}A340EGVcKfo7(>RPV1-+ipXjdlOs;Uohua)%+14ZAd ztqB*=O_ajkwvYQtn(3|ZhP=3|@oOahbST(W%KUyQ_xoPCQ`M%VVRAydjNXx%Ph7Fx z5xCJCW<0!;qCP764oR$XM&0Nw)+)S~l^HLotknP^-4q?1Sf~_Axq=tD*@z0a*~=_a zwKSnN7`=w^*+hd&WY-u37&e@0iT>SC*D2B%3hC(xYW9d&mZ{EGpPj>xPv|lut%SnV zsYIPD)#NCf7={`OLx!nQAt6U>H=V8&`g*dtLOgnkKI+t1$1s8cYFuTDrD~z#M^ia1 zM%gBnUi4`kB^fnEyyQEJrF={z4Niu>!=rb*-3(SH_DSiePs;j*u5x9NK9{p@L1M6w zo~yoB=!C)*1;4wTPyAd=coZIr9JL5N$R}@INln*z%hjxo!wgw;(GLA0?TkBtPxRTy z!vMCK_%(qF5|wg-W?sG8(~THgMzyDPdB=>Fmbspq*eeg#d?Ceeq*-xWPq5viYL?l~ zjSrie-IDnxbe?fMtHF6Tj(^jGg>>3mfuUl-8vpA@)UAx5529DIYJ#n+ysDosmc0II zK|P>qVvX0gmi)p-|3q(|cmTMvzqg}MS=G6)($yb%K&mEI?~l1dp8tzx@n~>lws`Bi zG*fMvo5SQ#^udH?Z@kXkOSZ`_-CA?>MG?*KWU8X-S9%J=jUO|f-QT0v*m>o_(uQkIA*veX*mD)9ugdS=PCY(3+!692+!Ovq3=>DBcieE{qA5Aw?67 zAsp1`d$5Oqd|x%0!ApR}gQF`nZeOwh~I7|yM0`n{kZ-jE5;ZJM2ripm}qsc8iF z7;!HfKNb8&k&dQ>^^X+8mZ~v>n)I0yO&8^R;vWi}`Zx4R8{^ZOZ{wAjXx1tog|_te zCRW|(HCN@rUzVxPQD>DGl7A_PJ^|a7<=U6UpUw93B5Rn)(8a+c8BE*L)J?e`Uw^~= zV&zmEel^oiV72RdrfSdP(#PPo)rpT8IPhJ~jDCKLze|%F7rkhQlpw}-x``xJ9QEnS zZJ_p};Ggf%Txenw{cA#{^y5O%6O+k#--bb(DhK@&4*l*t7vQ`?$h%K0)y4mSudJOe&VENi%&dGYjQTxA!pXzw^Dw-I&p;snarQ zgmLevFDPl_I_gsr#{$DYQR+mZo;cyj$3L|t|M4asO-~n=e%2hR({?kd3~` zxfyaY$)%$^qG9W9t)Gq?XYg-?OA6IorPvp(<4F7}p^>1`S8n?xU>-Ao`nHCQO``UU z$C&XOXL^b6%*NqfnxF7P0Ifjhh{lu1#*m_RIv-sx<8-}J(Jxd~rHY0(QEt-SN=>fz zTGBJ4f3wlzop`Q{CUbQLxTNRy^;f&&@flCiaBWE%t3=(J@slwR^mNbM=JxwDJepB9 ze?sD9tV$XG0B+QM8n)}F;68pgMOpx(+n~7$g;TC|gT{9Y`fZ~sS|6~ z2~huuetXzF(Ibd@J|iF7-XzpiIQ?W4FM@H0iE(|8zCAL2S@ZX! zgkQ1rukg_?fHi-HPiT7|Q(n#w9Q1NC>ao?HoW_hf+iiXSZ1baxYH02xFV}sN*O@J1 zrIyziFGkz;wKehlXuQCNJ`z9KuX%|>J){3~o(H#u#Gey0*&0Q{uOaibYCZc*wf34b z>ae)ZbB|^9-}K8tv;-;f)^zoy_Xt}wZkk?@HEz*-vm1SN^kzqYYS^M=>=($e(+18% zH)o)A`i>gP2HDW6GQ^mrW4{1yqUe(f!5xZ_GM}zrTPt;YnpyvCrmaP zqmtU6Y(o~Hx;<+&?C-ScbhNHXjix_#VWCkZ^wLf)hlE=itnp!^i;O0fgjz1VMorYU zEp5+~GoCxW;ndCe%QxQ>y=dqbd3t%s8?;7`o;Zjz?$`Zn{Fqy}`i=N^l7#1?@1Hsa zk?*MvVt$fup?1B~!*9Hahy8p>m|Kf~|1XsCUM}nBy6tsKoM-EXbjJ0UYsQa;ZE6W} zN3;~Zr>C5Art-8&UE`x4?lf;D70r&AWl^IDF)DUn9PuPx@-#K(XxtAI?zr`xx<95s zDLuEV;79GJx@fRvz%P`dk3afxHRI1Jl=6v7S%(>{%=WC78W&T%eloG3(oOvR*;?xB zuknKzy}tBq^IQf^;MFSb`1d=bJq%w4{DO$O9Cu!^Rw6oI)ZIk|Z;Yir!8bu;)DuVF z1cmstl&C+6-q{J&-<%wBdKFYEdOXph#&~sA(yF%jtAkgyRm}zS@t0v*EiTkI$qzr> zz30#ZumDFI4+`qfeg2i@li*GpJTNm5#@<{D^f&sT#0z$&wk)6d-lW$&W0_GIt6_ z<8#W9>n#7WP|aqNe~L32t~(Idmt)UN@^2!XDYx(CPA2}{1i$YYl_t4>(WLc=dC2&H z7X-&6w&9k0*IG}?&(?a4>3iX!PL0(*(F#Ok5|N75DfIM=XjM>K+v;e+SUeSK+&m2@ naF@|qRKY(7IK}GN##2gYi|+OuBoenpJu4N@3=dxjaa;Ny98U58 literal 220128 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 ) , " " , "" ) ) ; - _header = Mthd::Aux::replace_str( _header , "_AAAAA_" , module->GetContributor( ) ) ; - _header = Mthd::Aux::replace_str( _header , "_DDDDD_" , module->GetDescription( ) ) ; - _header = Mthd::Aux::replace_str( _header , "_CCCCC_" , module->GetCategory( ) ) ; + + std::string tmp_str = std::string ( "" ) ; + tmp_str = module->GetTitle ( ) ; + + tmp_str = Mthd::Aux::replace_str ( tmp_str , " " , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "<" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ">" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "(" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ")" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "\n" , "" ) ; + _header = Mthd::Aux::replace_str ( _header , "_NNNNN_" , tmp_str ) ; + + tmp_str.clear ( ) ; + tmp_str = module->GetContributor ( ) ; + + tmp_str = Mthd::Aux::replace_str ( tmp_str , "<" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ">" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "(" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ")" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "\n" , "" ) ; + _header = Mthd::Aux::replace_str ( _header , "_AAAAA_" , tmp_str ) ; + + tmp_str.clear ( ) ; + tmp_str = module->GetDescription ( ) ; + + tmp_str = Mthd::Aux::replace_str ( tmp_str , "<" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ">" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "(" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , ")" , "" ) ; + tmp_str = Mthd::Aux::replace_str ( tmp_str , "\n" , "" ) ; + _header = Mthd::Aux::replace_str ( _header , "_DDDDD_" , tmp_str ) ; + + + _header = Mthd::Aux::replace_str ( _header , "_CCCCC_" , module->GetCategory ( ) ) ; return _header ; } std::string updateBoxName ( const ModuleDescription* module , std::string content ) { - std::string _new_box_name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; - content = Mthd::Aux::replace_str( content , "Dummy" , _new_box_name ) ; + std::string _new_box_name = module->GetTitle ( ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , " " , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , "<" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , ">" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , "(" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , ")" , "" ) ; + _new_box_name = Mthd::Aux::replace_str ( _new_box_name , "\n" , "" ) ; + content = Mthd::Aux::replace_str ( content , "Dummy" , _new_box_name ) ; return content ; } std::string getHeaderFileName ( const ModuleDescription* module ) { - std::string name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; + std::string name = Mthd::Aux::replace_str ( module->GetTitle ( ) , " " , "" ) ; + name = Mthd::Aux::replace_str ( name , "<" , "" ) ; + name = Mthd::Aux::replace_str ( name , ">" , "" ) ; + name = Mthd::Aux::replace_str ( name , "(" , "" ) ; + name = Mthd::Aux::replace_str ( name , ")" , "" ) ; + name = Mthd::Aux::replace_str ( name , "\n" , "" ) ; return "bbSlicer" + name + ".h" ; } std::string getBodyFileName ( const ModuleDescription* module ) { - std::string name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; - + std::string name = module->GetTitle ( ) ; + name = Mthd::Aux::replace_str ( name , " " , "" ) ; + name = Mthd::Aux::replace_str ( name , "<" , "" ) ; + name = Mthd::Aux::replace_str ( name , ">" , "" ) ; + name = Mthd::Aux::replace_str ( name , "(" , "" ) ; + name = Mthd::Aux::replace_str ( name , ")" , "" ) ; + name = Mthd::Aux::replace_str ( name , "\n" , "" ) ; return "bbSlicer" + name + ".cxx" ; } std::string updateBoxInputs ( const ModuleDescription* module , std::string content ) { - std::string _cxx_inputs = std::string( "\n" ) ; - std::string _cxx_inputs_end = std::string( "\n" ) ; - std::string _box_name = Mthd::Aux::replace_str( module->GetTitle( ) , " " , "" ) ; + std::string _cxx_inputs = std::string ( "\n" ) ; + std::string _cxx_inputs_end = std::string ( "\n" ) ; + + std::string _box_name = module->GetTitle ( ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , " " , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , "<" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , ">" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , "(" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , ")" , "" ) ; + _box_name = Mthd::Aux::replace_str ( _box_name , "\n" , "" ) ; + + for ( unsigned long int i = 0 ; i < module->GetParameterGroups ( ).size ( ) ; i ++ ) { + ModuleParameterGroup pGroup = module->GetParameterGroups ( ).at ( i ) ; + for ( unsigned long int j = 0 ; j < pGroup.GetParameters ( ).size ( ) ; j ++ ) { + + ModuleParameter mPara = pGroup.GetParameters ( ).at ( j ) ; - for ( unsigned long int i = 0 ; i < module->GetParameterGroups( ).size( ) ; i ++ ) { - ModuleParameterGroup pGroup = module->GetParameterGroups( ).at( i ) ; - for ( unsigned long int j = 0 ; j < pGroup.GetParameters( ).size( ) ; j ++ ) { - ModuleParameter mPara = pGroup.GetParameters( ).at( j ) ; _cxx_inputs += "BBTK_DECLARE_INPUT ( " + - mPara.GetName( ) + " , " + - mPara.GetCPPType( ) + " );\n" ; + mPara.GetName ( ) + " , " + + mPara.GetCPPType ( ) + " );\n" ; _cxx_inputs_end += "BBTK_INPUT(" + _box_name + " , " + - mPara.GetName( ) + " , " + - "\"" + mPara.GetName( ) + "\"" + " , " + - mPara.GetCPPType( ) + ", \"\");\n" ; + mPara.GetName ( ) + " , " + + "\"" + mPara.GetName ( ) + "\"" + " , " + + mPara.GetCPPType ( ) + ", \"\");\n" ; } } - content = Mthd::Aux::replace_str( content , "_11111_" , _cxx_inputs ) ; - content = Mthd::Aux::replace_str( content , "_22222_" , _cxx_inputs_end ) ; + content = Mthd::Aux::replace_str ( content , "_11111_" , _cxx_inputs ) ; + content = Mthd::Aux::replace_str ( content , "_22222_" , _cxx_inputs_end ) ; return content ; } const int getNumberOfArguments ( const ModuleDescription* module ) { int number = 0 ; - for ( unsigned long int i = 0 ; i < module->GetParameterGroups( ).size( ) ; i ++ ) { - ModuleParameterGroup pGroup = module->GetParameterGroups( ).at( i ) ; - for ( unsigned long int j = 0 ; j < pGroup.GetParameters( ).size( ) ; j ++ ) { + for ( unsigned long int i = 0 ; i < module->GetParameterGroups ( ).size ( ) ; i ++ ) { + ModuleParameterGroup pGroup = module->GetParameterGroups ( ).at ( i ) ; + for ( unsigned long int j = 0 ; j < pGroup.GetParameters ( ).size ( ) ; j ++ ) { - ModuleParameter mPara = pGroup.GetParameters( ).at( j ) ; + ModuleParameter mPara = pGroup.GetParameters ( ).at ( j ) ; number ++ ; } } @@ -183,56 +238,58 @@ const int getNumberOfArguments ( const ModuleDescription* module ) { std::string updateProcessMethod ( const ModuleDescription* module , std::string content , std::string lib ) { int number = 0 ; - std::string arg_list = std::string( "" ) ; - for ( unsigned long int i = 0 ; i < module->GetParameterGroups( ).size( ) ; i ++ ) { - ModuleParameterGroup pGroup = module->GetParameterGroups( ).at( i ) ; - for ( unsigned long int j = 0 ; j < pGroup.GetParameters( ).size( ) ; j ++ ) { - - ModuleParameter mPara = pGroup.GetParameters( ).at( j ) ; + std::string arg_list = std::string ( "" ) ; + for ( unsigned long int i = 0 ; i < module->GetParameterGroups ( ).size ( ) ; i ++ ) { + ModuleParameterGroup pGroup = module->GetParameterGroups ( ).at ( i ) ; + for ( unsigned long int j = 0 ; j < pGroup.GetParameters ( ).size ( ) ; j ++ ) { + std::string flag = std::string ( "\"\"" ) ; + ModuleParameter mPara = pGroup.GetParameters ( ).at ( j ) ; arg_list += "Mthd::Aux::toCharArrray( " ; - if ( mPara.GetFlag( ) != "" ) { + if ( mPara.GetFlag ( ) != "" ) { arg_list += "Mthd::Aux::toString( \"" ; - arg_list += "-" + mPara.GetFlag( ) + "\" " ; + arg_list += "-" + mPara.GetFlag ( ) + "\" " ; arg_list += " ) + " ; + flag = "\" -" + mPara.GetFlag ( ) +" \"" ; - } else if ( mPara.GetLongFlag( ) != "" ) { + } else if ( mPara.GetLongFlag ( ) != "" ) { arg_list += "Mthd::Aux::toString( \"" ; - arg_list += "--" + mPara.GetLongFlag( ) + "\" " ; + arg_list += "--" + mPara.GetLongFlag ( ) + "\" " ; arg_list += " ) + " ; + flag = "\" --" + mPara.GetLongFlag ( ) +" \"" ; } - arg_list += "Mthd::Aux::toString( bbGetInput" + mPara.GetName( ) + "( ) )" ; - arg_list += " ),\n" ; + arg_list += "Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInput" + mPara.GetName ( ) + "( ) )" ; + arg_list += " ) ,\"@@@@@\"," + flag + ") ),\n" ; number ++ ; } } arg_list += "_EEENNNDDD_" ; - arg_list = Mthd::Aux::replace_str( arg_list , ",\n_EEENNNDDD_" , "" ) ; - std::string _argc = "\nint _argc =" + Mthd::Aux::toString( number ) + ";\n" ; + arg_list = Mthd::Aux::replace_str ( arg_list , ",\n_EEENNNDDD_" , "" ) ; + std::string _argc = "\nint _argc =" + Mthd::Aux::toString ( number ) + ";\n" ; std::string _slib = "std::string lib = \"" + lib + "\";\n" ; std::string _argv = "char * _argv[ ] = { " + arg_list + " };\n" ; - return Mthd::Aux::replace_str( content , "_33333_" , _argc + _slib + _argv ) ; + return Mthd::Aux::replace_str ( content , "_33333_" , _argc + _slib + _argv ) ; } std::vector < std::string > getFilesByExtention ( std::string dir , std::string ext ) { std::vector < std::string > files ; - files.clear( ) ; + files.clear ( ) ; DIR *dp ; struct dirent *dirp ; - if ( ( dp = opendir( dir.c_str( ) ) ) == NULL ) { + if ( ( dp = opendir ( dir.c_str ( ) ) ) == NULL ) { std::cout << "ERROR OPENING " << dir << std::endl ; return files ; } - while ( ( dirp = readdir( dp ) ) != NULL ) { - std::string file = std::string( dirp->d_name ) ; - if ( Mthd::Aux::str_ends_with( file , ext ) ) { - files.push_back( file ) ; + while ( ( dirp = readdir ( dp ) ) != NULL ) { + std::string file = std::string ( dirp->d_name ) ; + if ( Mthd::Aux::str_ends_with ( file , ext ) ) { + files.push_back ( file ) ; } } - closedir( dp ) ; + closedir ( dp ) ; return files ; } @@ -242,53 +299,53 @@ int main ( int argc , char* argv[] ) { // char * _argv[] = { "-s 20" , "/home/riveros/Desktop/Experiments/RA1.mhd" , "/home/riveros/Desktop/Experiments/RA1-OUT-MAIN.mhd" } ; // execute( gblib , _argc , _argv ) ; - const std::string dummy_body_str = loadDummyBody( ) ; - const std::string dummy_header_str = loadDummyHeader( ) ; + const std::string dummy_body_str = loadDummyBody ( ) ; + const std::string dummy_header_str = loadDummyHeader ( ) ; const std::string directory = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/" ; - const std::vector < std::string > files = getFilesByExtention( directory , ".so" ) ; + const std::vector < std::string > files = getFilesByExtention ( directory , ".so" ) ; - for ( unsigned int i = 0 ; i < files.size( ) ; i ++ ) { + for ( unsigned int i = 0 ; i < files.size ( ) ; i ++ ) { - std::string gblib = directory + files.at( i ) ; - std::cout << "/// " << files.at( i ) << " ///" << std::endl ; + std::string gblib = directory + files.at ( i ) ; + std::cout << "/// " << files.at ( i ) << " ///" << std::endl ; /// MODULE INFORMATION /// - std::string des = getModuleDescription( gblib ) ; + std::string des = getModuleDescription ( gblib ) ; std::cout << " getModuleDescription( gblib )...OK" << std::endl ; ModuleDescription module ; ModuleDescriptionParser parser ; - parser.Parse( des , module ) ; + parser.Parse ( des , module ) ; std::cout << " parser.Parse( des , module )...OK" << std::endl ; /// LOADING DUMMY FILES /// - std::string _body = std::string( dummy_body_str ) ; + std::string _body = std::string ( dummy_body_str ) ; std::cout << " loadDummyBody( )...OK" << std::endl ; - std::string _header = std::string( dummy_header_str ) ; + std::string _header = std::string ( dummy_header_str ) ; std::cout << " loadDummyHeader( )...OK" << std::endl ; /// SETTING HEADER FILE /// - _header = updateBoxName( &module , _header ) ; + _header = updateBoxName ( &module , _header ) ; std::cout << " updateBoxName( &module , _header )...OK" << std::endl ; - _header = updateBoxDescription( &module , _header ) ; + _header = updateBoxDescription ( &module , _header ) ; std::cout << " updateBoxDescription( &module , _header )...OK" << std::endl ; - _header = updateBoxInputs( &module , _header ) ; + _header = updateBoxInputs ( &module , _header ) ; std::cout << " updateBoxInputs( &module , _header )...OK" << std::endl ; - saveFile( _header , getHeaderFileName( &module ) ) ; + saveFile ( _header , "./GenSrc/" + getHeaderFileName ( &module ) ) ; /// SETTING BODY FILE /// - _body = updateBoxName( &module , _body ) ; + _body = updateBoxName ( &module , _body ) ; std::cout << " updateBoxName( &module , _body )...OK" << std::endl ; - _body = updateProcessMethod( &module , _body , gblib ) ; + _body = updateProcessMethod ( &module , _body , gblib ) ; std::cout << " updateProcessMethod( &module , _body , gblib )...OK" << std::endl ; - saveFile( _body , getBodyFileName( &module ) ) ; + saveFile ( _body , "./GenSrc/" + getBodyFileName ( &module ) ) ; - std::cout << "/// EO " << files.at( i ) << " ///" << std::endl << std::endl ; + std::cout << "/// EO " << files.at ( i ) << " ///" << std::endl << std::endl ; - gblib.clear( ) ; - des.clear( ) ; + gblib.clear ( ) ; + des.clear ( ) ; //while ( getchar( ) != '\n' ) ; } diff --git a/ModuleCall/nbproject/Makefile-Debug.mk b/ModuleCall/nbproject/Makefile-Debug.mk new file mode 100644 index 0000000..403ae0c --- /dev/null +++ b/ModuleCall/nbproject/Makefile-Debug.mk @@ -0,0 +1,89 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/CreationTool.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS=-ldl +CXXFLAGS=-ldl + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/main.o: nbproject/Makefile-${CND_CONF}.mk main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/CreationTool.o: nbproject/Makefile-${CND_CONF}.mk CreationTool.cxx + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/CreationTool.o CreationTool.cxx + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + ${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/ModuleCall/nbproject/Makefile-Release.mk b/ModuleCall/nbproject/Makefile-Release.mk new file mode 100644 index 0000000..3e0453a --- /dev/null +++ b/ModuleCall/nbproject/Makefile-Release.mk @@ -0,0 +1,89 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/CreationTool.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS=-ldl -w +CXXFLAGS=-ldl -w + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/main.o: nbproject/Makefile-${CND_CONF}.mk main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/CreationTool.o: nbproject/Makefile-${CND_CONF}.mk CreationTool.cxx + ${MKDIR} -p ${OBJECTDIR} + ${RM} $@.d + $(COMPILE.cc) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/CreationTool.o CreationTool.cxx + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + ${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/ModuleCall/nbproject/Makefile-impl.mk b/ModuleCall/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..5b21938 --- /dev/null +++ b/ModuleCall/nbproject/Makefile-impl.mk @@ -0,0 +1,133 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a pre- and a post- target defined where you can add customization code. +# +# This makefile implements macros and targets common to all configurations. +# +# NOCDDL + + +# Building and Cleaning subprojects are done by default, but can be controlled with the SUB +# macro. If SUB=no, subprojects will not be built or cleaned. The following macro +# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf +# and .clean-reqprojects-conf unless SUB has the value 'no' +SUB_no=NO +SUBPROJECTS=${SUB_${SUB}} +BUILD_SUBPROJECTS_=.build-subprojects +BUILD_SUBPROJECTS_NO= +BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} +CLEAN_SUBPROJECTS_=.clean-subprojects +CLEAN_SUBPROJECTS_NO= +CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} + + +# Project Name +PROJECTNAME=ModuleCall + +# Active Configuration +DEFAULTCONF=Debug +CONF=${DEFAULTCONF} + +# All Configurations +ALLCONFS=Debug Release + + +# build +.build-impl: .build-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf + + +# clean +.clean-impl: .clean-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf + + +# clobber +.clobber-impl: .clobber-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ + done + +# all +.all-impl: .all-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \ + done + +# build tests +.build-tests-impl: .build-impl .build-tests-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf + +# run tests +.test-impl: .build-tests-impl .test-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf + +# dependency checking support +.depcheck-impl: + @echo "# This code depends on make tool being used" >.dep.inc + @if [ -n "${MAKE_VERSION}" ]; then \ + echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ + echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ + echo "include \$${DEPFILES}" >>.dep.inc; \ + echo "endif" >>.dep.inc; \ + else \ + echo ".KEEP_STATE:" >>.dep.inc; \ + echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ + fi + +# configuration validation +.validate-impl: + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + echo ""; \ + echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ + echo "See 'make help' for details."; \ + echo "Current directory: " `pwd`; \ + echo ""; \ + fi + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + exit 1; \ + fi + + +# help +.help-impl: .help-pre + @echo "This makefile supports the following configurations:" + @echo " ${ALLCONFS}" + @echo "" + @echo "and the following targets:" + @echo " build (default target)" + @echo " clean" + @echo " clobber" + @echo " all" + @echo " help" + @echo "" + @echo "Makefile Usage:" + @echo " make [CONF=] [SUB=no] build" + @echo " make [CONF=] [SUB=no] clean" + @echo " make [SUB=no] clobber" + @echo " make [SUB=no] all" + @echo " make help" + @echo "" + @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," + @echo " also clean subprojects." + @echo "Target 'clobber' will remove all built files from all configurations and," + @echo " unless 'SUB=no', also from subprojects." + @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'help' prints this message." + @echo "" + diff --git a/ModuleCall/nbproject/Makefile-variables.mk b/ModuleCall/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..4cf87ff --- /dev/null +++ b/ModuleCall/nbproject/Makefile-variables.mk @@ -0,0 +1,35 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +CND_BASEDIR=`pwd` +CND_BUILDDIR=build +CND_DISTDIR=dist +# Debug configuration +CND_PLATFORM_Debug=GNU-Linux-x86 +CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86 +CND_ARTIFACT_NAME_Debug=modulecall +CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/modulecall +CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package +CND_PACKAGE_NAME_Debug=modulecall.tar +CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/modulecall.tar +# Release configuration +CND_PLATFORM_Release=GNU-Linux-x86 +CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86 +CND_ARTIFACT_NAME_Release=modulecall +CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/modulecall +CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package +CND_PACKAGE_NAME_Release=modulecall.tar +CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/modulecall.tar +# +# include compiler specific variables +# +# dmake command +ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \ + (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk) +# +# gmake command +.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)) +# +include nbproject/private/Makefile-variables.mk diff --git a/ModuleCall/nbproject/Package-Debug.bash b/ModuleCall/nbproject/Package-Debug.bash new file mode 100644 index 0000000..4ed3e78 --- /dev/null +++ b/ModuleCall/nbproject/Package-Debug.bash @@ -0,0 +1,75 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall +OUTPUT_BASENAME=modulecall +PACKAGE_TOP_DIR=modulecall/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/modulecall/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/ModuleCall/nbproject/Package-Release.bash b/ModuleCall/nbproject/Package-Release.bash new file mode 100644 index 0000000..1708a01 --- /dev/null +++ b/ModuleCall/nbproject/Package-Release.bash @@ -0,0 +1,75 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/modulecall +OUTPUT_BASENAME=modulecall +PACKAGE_TOP_DIR=modulecall/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/modulecall/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/modulecall.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/ModuleCall/nbproject/configurations.xml b/ModuleCall/nbproject/configurations.xml new file mode 100644 index 0000000..f83998e --- /dev/null +++ b/ModuleCall/nbproject/configurations.xml @@ -0,0 +1,66 @@ + + + + + + + + + CreationTool.cxx + CreationTool.h + main.cpp + + + + + Makefile + + + Makefile + + + + LOCAL_SOURCES + default + + + + -ldl + + + + + + LOCAL_SOURCES + default + + + + 5 + + + 5 + -ldl -w + + + 5 + + + 5 + + + + + diff --git a/ModuleCall/nbproject/private/Makefile-variables.mk b/ModuleCall/nbproject/private/Makefile-variables.mk new file mode 100644 index 0000000..a64183e --- /dev/null +++ b/ModuleCall/nbproject/private/Makefile-variables.mk @@ -0,0 +1,7 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +# Debug configuration +# Release configuration diff --git a/ModuleCall/nbproject/private/configurations.xml b/ModuleCall/nbproject/private/configurations.xml new file mode 100644 index 0000000..10e0756 --- /dev/null +++ b/ModuleCall/nbproject/private/configurations.xml @@ -0,0 +1,72 @@ + + + Makefile + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + diff --git a/ModuleCall/nbproject/private/private.xml b/ModuleCall/nbproject/private/private.xml new file mode 100644 index 0000000..c15bbcb --- /dev/null +++ b/ModuleCall/nbproject/private/private.xml @@ -0,0 +1,8 @@ + + + + 1 + 1 + + + diff --git a/ModuleCall/nbproject/project.xml b/ModuleCall/nbproject/project.xml new file mode 100644 index 0000000..949b38c --- /dev/null +++ b/ModuleCall/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.cnd.makeproject + + + ModuleCall + + cpp,cxx + h + UTF-8 + + + + + Debug + 1 + + + Release + 1 + + + + + diff --git a/bbtk_Slicer_PKG/src/CreationTool.cxx b/bbtk_Slicer_PKG/src/CreationTool.cxx index b3c7095..872fc7c 100644 --- a/bbtk_Slicer_PKG/src/CreationTool.cxx +++ b/bbtk_Slicer_PKG/src/CreationTool.cxx @@ -10,73 +10,222 @@ std::string Mthd::Aux::toString ( float n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( double n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( long double n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( char n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned char n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( short n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned short n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( long int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned int n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned long n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; } std::string Mthd::Aux::toString ( unsigned long long n ) { std::ostringstream oss ; oss << n ; - return oss.str( ) ; + return oss.str ( ) ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return _vector ; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; +} + +std::string Mthd::Aux::toString ( std::vector > v ) { + return "Not implemented"; } std::string Mthd::Aux::toString ( std::string n ) { @@ -86,84 +235,188 @@ std::string Mthd::Aux::toString ( std::string n ) { char* Mthd::Aux::toCharArrray ( float n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( double n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long double n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( char n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned char n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( short n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned short n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( unsigned int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( long unsigned int n ) { std::ostringstream oss ; oss << n ; - return const_cast < char* > ( oss.str( ).data( ) ) ; + return const_cast < char* > ( oss.str ( ).data ( ) ) ; } char* Mthd::Aux::toCharArrray ( std::string n ) { - return const_cast < char* > ( n.data( ) ) ; + return const_cast < char* > ( n.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; +} + +char* Mthd::Aux::toCharArrray ( std::vector v ) { + std::ostringstream oss ; + std::string _vector = std::string ( "" ) ; + for ( long unsigned int i = 0 ; i < v.size ( ) ; i ++ ) { + oss << v.at ( i ) ; + _vector += oss.str ( ) ; + if ( i + 1 < v.size ( ) ) { + _vector += "," ; + } + } + return const_cast < char* > ( _vector.data ( ) ) ; } std::string Mthd::Aux::replace_str ( std::string input , std::string old_str , std::string new_str ) { - size_t found = input.find( old_str ) ; + size_t found = input.find ( old_str ) ; while ( found != std::string::npos ) { - input.replace( found , old_str.length( ) , new_str ) ; - found = input.find( old_str ) ; + input.replace ( found , old_str.length ( ) , new_str ) ; + found = input.find ( old_str ) ; } return input ; } bool Mthd::Aux::str_ends_with ( std::string total_str , std::string sub_str ) { - size_t found = total_str.find( sub_str ) ; + size_t found = total_str.find ( sub_str ) ; if ( found != std::string::npos ) { return true ; } diff --git a/bbtk_Slicer_PKG/src/CreationTool.h b/bbtk_Slicer_PKG/src/CreationTool.h index 27dcb82..4fdbee9 100644 --- a/bbtk_Slicer_PKG/src/CreationTool.h +++ b/bbtk_Slicer_PKG/src/CreationTool.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace Mthd { @@ -32,6 +33,26 @@ namespace Mthd { static std::string toString ( unsigned long n ) ; static std::string toString ( unsigned long long n ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector v ) ; + static std::string toString ( std::vector > v ) ; + + static std::string toString ( std::vector< std::vector< int > > v ) ; + static std::string toString ( std::vector< std::vector< float > > v ) ; + static std::string toString ( std::vector< std::vector< double > > v ) ; + static std::string toString ( std::vector< std::vector< long int > > v ) ; + static std::string toString ( std::vector< std::vector< long double > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned int > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned long > > v ) ; + static std::string toString ( std::vector< std::vector< unsigned long long > > v ) ; + + static std::string toString ( std::string n ) ; static char* toCharArrray ( float n ) ; @@ -49,10 +70,19 @@ namespace Mthd { static char* toCharArrray ( unsigned int n ) ; static char* toCharArrray ( long unsigned int n ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::vector v ) ; + static char* toCharArrray ( std::string n ) ; static bool str_ends_with ( std::string total_str , std::string sub_str ) ; - static std::string replace_str ( std::string input , std::string old_str , std::string new_str ) ; + static std::string replace_str ( std::string input , std::string old_str , std::string new_str ) ; } ; diff --git a/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx new file mode 100644 index 0000000..d458ed8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerACPCTransform.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ACPCTransform ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ACPCTransform, bbtk::AtomicBlackBox ); + + void ACPCTransform::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRealignLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--acpc" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputACPC( ) ) ) ,"@@@@@"," --acpc ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--midline" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMidline( ) ) ) ,"@@@@@"," --midline ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebugSwitch( ) ) ) ,"@@@@@"," -d ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ACPCTransform::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ACPCTransform::bbUserSetDefaultValues ( ) { + } + + void ACPCTransform::bbUserInitializeProcessing ( ) { + } + + void ACPCTransform::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h new file mode 100644 index 0000000..f5da823 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerACPCTransform.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerACPCTransform_h_INCLUDED__ +#define __bbSlicerACPCTransform_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ACPCTransform + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ACPCTransform , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( ACPC , std::vector > ); +BBTK_DECLARE_INPUT ( Midline , std::vector > ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( debugSwitch , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ACPCTransform , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ACPCTransform" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "pCalculate a transformation from two lists of fiducial points./ppACPC line is two fiducial points, one at the anterior commissure and one at the posterior commissure. The resulting transform will bring the line connecting them to horizontal to the AP axis./ppThe midline is a series of points defining the division between the hemispheres of the brain the mid sagittal plane. The resulting transform will put the output volume with the mid sagittal plane lined up with the AS plane./ppUse the Filtering module bResample Scalar/Vector/DWI Volume/b to apply the transformation to a volume./p" ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ACPCTransform , ACPC , "ACPC" , std::vector >, ""); +BBTK_INPUT(ACPCTransform , Midline , "Midline" , std::vector >, ""); +BBTK_INPUT(ACPCTransform , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(ACPCTransform , debugSwitch , "debugSwitch" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ACPCTransform ) ; +} + +#endif // __bbSlicerACPCTransform_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx index d66e444..ec5f7a5 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerAddImages.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libAddLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::toString( bbGetInputorder( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx b/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx index 2633329..9ed73da 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerBSplinetodeformationfield.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineToDeformationFieldLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--tfm" ) + Mthd::Aux::toString( bbGetInputinputTransformName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--refImage" ) + Mthd::Aux::toString( bbGetInputreferenceImageName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defImage" ) + Mthd::Aux::toString( bbGetInputdeformationFieldName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--tfm" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputTransformName( ) ) ) ,"@@@@@"," --tfm ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--refImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceImageName( ) ) ) ,"@@@@@"," --refImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeformationFieldName( ) ) ) ,"@@@@@"," --defImage ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx b/bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx new file mode 100644 index 0000000..8715b97 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCastImage.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerCastImage.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CastImage ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CastImage, bbtk::AtomicBlackBox ); + + void CastImage::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCastLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputType( ) ) ) ,"@@@@@"," -t ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CastImage::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CastImage::bbUserSetDefaultValues ( ) { + } + + void CastImage::bbUserInitializeProcessing ( ) { + } + + void CastImage::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCastImage.h b/bbtk_Slicer_PKG/src/bbSlicerCastImage.h new file mode 100644 index 0000000..ba1237a --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCastImage.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerCastImage_h_INCLUDED__ +#define __bbSlicerCastImage_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CastImage + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CastImage , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); +BBTK_DECLARE_INPUT ( Type , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CastImage , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CastImage" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; + BBTK_DESCRIPTION ( "Cast a volume to a given data type.Use at your own risk when casting an input volume into a lower precision type!Allows casting to the same type as the input volume." ) ; + BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CastImage , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(CastImage , OutputVolume , "OutputVolume" , std::string, ""); +BBTK_INPUT(CastImage , Type , "Type" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CastImage ) ; +} + +#endif // __bbSlicerCastImage_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx new file mode 100644 index 0000000..3201891 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerCheckerBoardFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CheckerBoardFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CheckerBoardFilter, bbtk::AtomicBlackBox ); + + void CheckerBoardFilter::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCheckerBoardLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerPattern" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerPattern( ) ) ) ,"@@@@@"," --checkerPattern ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CheckerBoardFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CheckerBoardFilter::bbUserSetDefaultValues ( ) { + } + + void CheckerBoardFilter::bbUserInitializeProcessing ( ) { + } + + void CheckerBoardFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h new file mode 100644 index 0000000..7bd4a22 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCheckerBoardFilter.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerCheckerBoardFilter_h_INCLUDED__ +#define __bbSlicerCheckerBoardFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CheckerBoardFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CheckerBoardFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( checkerPattern , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume1 , std::string ); +BBTK_DECLARE_INPUT ( inputVolume2 , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CheckerBoardFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CheckerBoardFilter" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Create a checkerboard volume of two volumes. The output volume will show the two inputs alternating according to the user supplied checkerPattern. This filter is often used to compare the results of image registration. Note that the second input is resampled to the same origin, spacing and direction before it is composed with the first input. The scalar type of the output volume will be the same as the input image scalar type." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CheckerBoardFilter , checkerPattern , "checkerPattern" , std::vector, ""); +BBTK_INPUT(CheckerBoardFilter , inputVolume1 , "inputVolume1" , std::string, ""); +BBTK_INPUT(CheckerBoardFilter , inputVolume2 , "inputVolume2" , std::string, ""); +BBTK_INPUT(CheckerBoardFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CheckerBoardFilter ) ; +} + +#endif // __bbSlicerCheckerBoardFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx b/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx index ba3a358..4b63cfb 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerCommandLineModuleTest.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCLIModule4TestLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue1" ) + Mthd::Aux::toString( bbGetInputInputValue1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue2" ) + Mthd::Aux::toString( bbGetInputInputValue2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--operationtype" ) + Mthd::Aux::toString( bbGetInputOperationType( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputFile( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputValue1( ) ) ) ,"@@@@@"," --inputvalue1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputvalue2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputValue2( ) ) ) ,"@@@@@"," --inputvalue2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--operationtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOperationType( ) ) ) ,"@@@@@"," --operationtype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputFile( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx b/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx index 1fe0e73..a51004b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerCreateaDICOMSeries.cxx @@ -11,26 +11,26 @@ namespace bbSlicer { int _argc =20; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libImageReadDicomWriteLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientName" ) + Mthd::Aux::toString( bbGetInputpatientName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientID" ) + Mthd::Aux::toString( bbGetInputpatientID( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientComments" ) + Mthd::Aux::toString( bbGetInputpatientComments( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyID" ) + Mthd::Aux::toString( bbGetInputstudyID( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDate" ) + Mthd::Aux::toString( bbGetInputstudyDate( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyComments" ) + Mthd::Aux::toString( bbGetInputstudyComments( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDescription" ) + Mthd::Aux::toString( bbGetInputstudyDescription( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modality" ) + Mthd::Aux::toString( bbGetInputmodality( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--manufacturer" ) + Mthd::Aux::toString( bbGetInputmanufacturer( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--model" ) + Mthd::Aux::toString( bbGetInputmodel( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesNumber" ) + Mthd::Aux::toString( bbGetInputseriesNumber( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesDescription" ) + Mthd::Aux::toString( bbGetInputseriesDescription( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleIntercept" ) + Mthd::Aux::toString( bbGetInputrescaleIntercept( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleSlope" ) + Mthd::Aux::toString( bbGetInputrescaleSlope( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomDirectory" ) + Mthd::Aux::toString( bbGetInputdicomDirectory( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomPrefix" ) + Mthd::Aux::toString( bbGetInputdicomPrefix( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomNumberFormat" ) + Mthd::Aux::toString( bbGetInputdicomNumberFormat( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reverseImages" ) + Mthd::Aux::toString( bbGetInputreverseImages( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCompression" ) + Mthd::Aux::toString( bbGetInputuseCompression( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientName" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientName( ) ) ) ,"@@@@@"," --patientName ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientID" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientID( ) ) ) ,"@@@@@"," --patientID ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--patientComments" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpatientComments( ) ) ) ,"@@@@@"," --patientComments ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyID" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyID( ) ) ) ,"@@@@@"," --studyID ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDate" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyDate( ) ) ) ,"@@@@@"," --studyDate ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyComments" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyComments( ) ) ) ,"@@@@@"," --studyComments ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--studyDescription" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstudyDescription( ) ) ) ,"@@@@@"," --studyDescription ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modality" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmodality( ) ) ) ,"@@@@@"," --modality ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--manufacturer" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmanufacturer( ) ) ) ,"@@@@@"," --manufacturer ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--model" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmodel( ) ) ) ,"@@@@@"," --model ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesNumber" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseriesNumber( ) ) ) ,"@@@@@"," --seriesNumber ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seriesDescription" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseriesDescription( ) ) ) ,"@@@@@"," --seriesDescription ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleIntercept" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrescaleIntercept( ) ) ) ,"@@@@@"," --rescaleIntercept ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rescaleSlope" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrescaleSlope( ) ) ) ,"@@@@@"," --rescaleSlope ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomDirectory( ) ) ) ,"@@@@@"," --dicomDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomPrefix( ) ) ) ,"@@@@@"," --dicomPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dicomNumberFormat" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdicomNumberFormat( ) ) ) ,"@@@@@"," --dicomNumberFormat ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reverseImages" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreverseImages( ) ) ) ,"@@@@@"," --reverseImages ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCompression" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCompression( ) ) ) ,"@@@@@"," --useCompression ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx new file mode 100644 index 0000000..a356744 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerCurvatureAnisotropicDiffusion.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, CurvatureAnisotropicDiffusion ) + BBTK_BLACK_BOX_IMPLEMENTATION ( CurvatureAnisotropicDiffusion, bbtk::AtomicBlackBox ); + + void CurvatureAnisotropicDiffusion::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libCurvatureAnisotropicDiffusionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--conductance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconductance( ) ) ) ,"@@@@@"," --conductance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timeStep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimeStep( ) ) ) ,"@@@@@"," --timeStep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void CurvatureAnisotropicDiffusion::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void CurvatureAnisotropicDiffusion::bbUserSetDefaultValues ( ) { + } + + void CurvatureAnisotropicDiffusion::bbUserInitializeProcessing ( ) { + } + + void CurvatureAnisotropicDiffusion::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h new file mode 100644 index 0000000..fc17218 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerCurvatureAnisotropicDiffusion.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ +#define __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT CurvatureAnisotropicDiffusion + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( CurvatureAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( conductance , double ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( timeStep , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( CurvatureAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "CurvatureAnisotropicDiffusion" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Performs anisotropic diffusion on an image using a modified curvature diffusion equation MCDE.MCDE does not exhibit the edge enhancing properties of classic anisotropic diffusion, which can under certain conditions undergo a 'negative' diffusion, which enhances the contrast of edges. Equations of the form of MCDE always undergo positive diffusion, with the conductance term only varying the strength of that diffusion. Qualitatively, MCDE compares well with other non-linear diffusion techniques. It is less sensitive to contrast than classic Perona-Malik style diffusion, and preserves finer detailed structures in images. There is a potential speed trade-off for using this function in place of Gradient Anisotropic Diffusion. Each iteration of the solution takes roughly twice as long. Fewer iterations, however, may be required to reach an acceptable solution." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(CurvatureAnisotropicDiffusion , conductance , "conductance" , double, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , timeStep , "timeStep" , double, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(CurvatureAnisotropicDiffusion , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( CurvatureAnisotropicDiffusion ) ; +} + +#endif // __bbSlicerCurvatureAnisotropicDiffusion_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx new file mode 100644 index 0000000..bef5a5e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.cxx @@ -0,0 +1,94 @@ +#include "bbSlicerDemonRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, DemonRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( DemonRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void DemonRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =40; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSDemonWarpLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputPixelType( ) ) ) ,"@@@@@"," --inputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldVolume( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputPixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelType( ) ) ) ,"@@@@@"," --outputPixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registrationFilterType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistrationFilterType( ) ) ) ,"@@@@@"," --registrationFilterType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothDisplacementFieldSigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfPyramidLevels( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumFixedPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumFixedPyramid( ) ) ) ,"@@@@@"," --minimumFixedPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumMovingPyramid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumMovingPyramid( ) ) ) ,"@@@@@"," --minimumMovingPyramid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarrayOfPyramidLevelIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithDisplacementField" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithDisplacementField( ) ) ) ,"@@@@@"," --initializeWithDisplacementField ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeWithTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeWithTransform( ) ) ) ,"@@@@@"," --initializeWithTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskProcessingMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskProcessingMode( ) ) ) ,"@@@@@"," --maskProcessingMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--lowerThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlowerThresholdForBOBF( ) ) ) ,"@@@@@"," --lowerThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--upperThresholdForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputupperThresholdForBOBF( ) ) ) ,"@@@@@"," --upperThresholdForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seedForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseedForBOBF( ) ) ) ,"@@@@@"," --seedForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhoodForBOBF" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhoodForBOBF( ) ) ) ,"@@@@@"," --neighborhoodForBOBF ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDisplacementFieldPrefix" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDisplacementFieldPrefix( ) ) ) ,"@@@@@"," --outputDisplacementFieldPrefix ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputCheckerboardVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputCheckerboardVolume( ) ) ) ,"@@@@@"," --outputCheckerboardVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--checkerboardPatternSubdivisions" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcheckerboardPatternSubdivisions( ) ) ) ,"@@@@@"," --checkerboardPatternSubdivisions ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputNormalized" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputNormalized( ) ) ) ,"@@@@@"," --outputNormalized ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDebug( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgradientType( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingUp( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxStepLength( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-a" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputturnOffDiffeomorph( ) ) ) ,"@@@@@"," -a ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBCHApproximationTerms" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBCHApproximationTerms( ) ) ) ,"@@@@@"," --numberOfBCHApproximationTerms ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void DemonRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void DemonRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void DemonRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void DemonRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h new file mode 100644 index 0000000..8482ead --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerDemonRegistrationBRAINS.h @@ -0,0 +1,136 @@ +#ifndef __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT DemonRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( movingVolume , std::string ); +BBTK_DECLARE_INPUT ( fixedVolume , std::string ); +BBTK_DECLARE_INPUT ( inputPixelType , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldVolume , std::string ); +BBTK_DECLARE_INPUT ( outputPixelType , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( registrationFilterType , std::string ); +BBTK_DECLARE_INPUT ( smoothDisplacementFieldSigma , double ); +BBTK_DECLARE_INPUT ( numberOfPyramidLevels , int ); +BBTK_DECLARE_INPUT ( minimumFixedPyramid , std::vector ); +BBTK_DECLARE_INPUT ( minimumMovingPyramid , std::vector ); +BBTK_DECLARE_INPUT ( arrayOfPyramidLevelIterations , std::vector ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( initializeWithDisplacementField , std::string ); +BBTK_DECLARE_INPUT ( initializeWithTransform , std::string ); +BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( lowerThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( upperThresholdForBOBF , int ); +BBTK_DECLARE_INPUT ( backgroundFillValue , int ); +BBTK_DECLARE_INPUT ( seedForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( neighborhoodForBOBF , std::vector ); +BBTK_DECLARE_INPUT ( outputDisplacementFieldPrefix , std::string ); +BBTK_DECLARE_INPUT ( outputCheckerboardVolume , std::string ); +BBTK_DECLARE_INPUT ( checkerboardPatternSubdivisions , std::vector ); +BBTK_DECLARE_INPUT ( outputNormalized , bool ); +BBTK_DECLARE_INPUT ( outputDebug , bool ); +BBTK_DECLARE_INPUT ( gradientType , int ); +BBTK_DECLARE_INPUT ( smoothingUp , double ); +BBTK_DECLARE_INPUT ( maxStepLength , double ); +BBTK_DECLARE_INPUT ( turnOffDiffeomorph , bool ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( numberOfBCHApproximationTerms , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "DemonRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Hans J. Johnson and Greg Harris." ) ; + BBTK_DESCRIPTION ( "This program finds a deformation field to warp a moving image onto a fixed image. The images must be of the same signal kind, and contain an image of the same kind of object. This program uses the Thirion Demons warp software in ITK, the Insight Toolkit. Additional information is available at: http://www.nitrc.org/projects/brainsdemonwarp." ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(DemonRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , inputPixelType , "inputPixelType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldVolume , "outputDisplacementFieldVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputPixelType , "outputPixelType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , registrationFilterType , "registrationFilterType" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , smoothDisplacementFieldSigma , "smoothDisplacementFieldSigma" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfPyramidLevels , "numberOfPyramidLevels" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , minimumFixedPyramid , "minimumFixedPyramid" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , minimumMovingPyramid , "minimumMovingPyramid" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , arrayOfPyramidLevelIterations , "arrayOfPyramidLevelIterations" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , initializeWithDisplacementField , "initializeWithDisplacementField" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , initializeWithTransform , "initializeWithTransform" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , lowerThresholdForBOBF , "lowerThresholdForBOBF" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , upperThresholdForBOBF , "upperThresholdForBOBF" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , seedForBOBF , "seedForBOBF" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , neighborhoodForBOBF , "neighborhoodForBOBF" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDisplacementFieldPrefix , "outputDisplacementFieldPrefix" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputCheckerboardVolume , "outputCheckerboardVolume" , std::string, ""); +BBTK_INPUT(DemonRegistrationBRAINS , checkerboardPatternSubdivisions , "checkerboardPatternSubdivisions" , std::vector, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputNormalized , "outputNormalized" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , outputDebug , "outputDebug" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , gradientType , "gradientType" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , smoothingUp , "smoothingUp" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , maxStepLength , "maxStepLength" , double, ""); +BBTK_INPUT(DemonRegistrationBRAINS , turnOffDiffeomorph , "turnOffDiffeomorph" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfBCHApproximationTerms , "numberOfBCHApproximationTerms" , int, ""); +BBTK_INPUT(DemonRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( DemonRegistrationBRAINS ) ; +} + +#endif // __bbSlicerDemonRegistrationBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx b/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx index 87e2029..49caf5c 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerDicomtoNrrdConverter.cxx @@ -11,13 +11,13 @@ namespace bbSlicer { int _argc =7; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libDicomToNrrdConverterLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputDicomDirectory" ) + Mthd::Aux::toString( bbGetInputinputDicomDirectory( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDirectory" ) + Mthd::Aux::toString( bbGetInputoutputDirectory( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smallGradientThreshold" ) + Mthd::Aux::toString( bbGetInputsmallGradientThreshold( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeProtocolGradientsFile" ) + Mthd::Aux::toString( bbGetInputwriteProtocolGradientsFile( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useIdentityMeaseurementFrame" ) + Mthd::Aux::toString( bbGetInputuseIdentityMeaseurementFrame( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBMatrixGradientDirections" ) + Mthd::Aux::toString( bbGetInputuseBMatrixGradientDirections( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputDicomDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputDicomDirectory( ) ) ) ,"@@@@@"," --inputDicomDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputDirectory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputDirectory( ) ) ) ,"@@@@@"," --outputDirectory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smallGradientThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmallGradientThreshold( ) ) ) ,"@@@@@"," --smallGradientThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeProtocolGradientsFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwriteProtocolGradientsFile( ) ) ) ,"@@@@@"," --writeProtocolGradientsFile ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useIdentityMeaseurementFrame" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseIdentityMeaseurementFrame( ) ) ) ,"@@@@@"," --useIdentityMeaseurementFrame ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBMatrixGradientDirections" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseBMatrixGradientDirections( ) ) ) ,"@@@@@"," --useBMatrixGradientDirections ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx new file mode 100644 index 0000000..659a398 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.cxx @@ -0,0 +1,82 @@ +#include "bbSlicerExecutionModelTour.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExecutionModelTour ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExecutionModelTour, bbtk::AtomicBlackBox ); + + void ExecutionModelTour::Process ( ) { + + // GENERATED + +int _argc =28; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libExecutionModelTourLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputintegerVariable( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdoubleVariable( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfloatVector( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--string_vector" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstringVector( ) ) ) ,"@@@@@"," --string_vector ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstringChoice( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean1( ) ) ) ,"@@@@@"," --boolean1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean2( ) ) ) ,"@@@@@"," --boolean2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--boolean3" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputboolean3( ) ) ) ,"@@@@@"," --boolean3 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--file1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfile1( ) ) ) ,"@@@@@"," --file1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--files" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfiles( ) ) ) ,"@@@@@"," --files ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--directory1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdirectory1( ) ) ) ,"@@@@@"," --directory1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimage1( ) ) ) ,"@@@@@"," --image1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimage2( ) ) ) ,"@@@@@"," --image2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform1" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransform1( ) ) ) ,"@@@@@"," --transform1 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform2" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransform2( ) ) ) ,"@@@@@"," --transform2 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseed( ) ) ) ,"@@@@@"," --seed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarg0( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputarg1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--region" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregions( ) ) ) ,"@@@@@"," --region ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputFA" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputFA( ) ) ) ,"@@@@@"," --inputFA ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputFA" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputFA( ) ) ) ,"@@@@@"," --outputFA ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputanintegerreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputabooleanreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputafloatreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputadoublereturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputastringreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputanintegervectorreturn( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputastringchoicereturn( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExecutionModelTour::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExecutionModelTour::bbUserSetDefaultValues ( ) { + } + + void ExecutionModelTour::bbUserInitializeProcessing ( ) { + } + + void ExecutionModelTour::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h new file mode 100644 index 0000000..b867459 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExecutionModelTour.h @@ -0,0 +1,112 @@ +#ifndef __bbSlicerExecutionModelTour_h_INCLUDED__ +#define __bbSlicerExecutionModelTour_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExecutionModelTour + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExecutionModelTour , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( integerVariable , int ); +BBTK_DECLARE_INPUT ( doubleVariable , double ); +BBTK_DECLARE_INPUT ( floatVector , std::vector ); +BBTK_DECLARE_INPUT ( stringVector , std::vector ); +BBTK_DECLARE_INPUT ( stringChoice , std::string ); +BBTK_DECLARE_INPUT ( boolean1 , bool ); +BBTK_DECLARE_INPUT ( boolean2 , bool ); +BBTK_DECLARE_INPUT ( boolean3 , bool ); +BBTK_DECLARE_INPUT ( file1 , std::string ); +BBTK_DECLARE_INPUT ( files , std::vector ); +BBTK_DECLARE_INPUT ( directory1 , std::string ); +BBTK_DECLARE_INPUT ( image1 , std::string ); +BBTK_DECLARE_INPUT ( image2 , std::string ); +BBTK_DECLARE_INPUT ( transform1 , std::string ); +BBTK_DECLARE_INPUT ( transform2 , std::string ); +BBTK_DECLARE_INPUT ( seed , std::vector > ); +BBTK_DECLARE_INPUT ( arg0 , std::string ); +BBTK_DECLARE_INPUT ( arg1 , std::string ); +BBTK_DECLARE_INPUT ( regions , std::vector > ); +BBTK_DECLARE_INPUT ( inputFA , std::string ); +BBTK_DECLARE_INPUT ( outputFA , std::string ); +BBTK_DECLARE_INPUT ( anintegerreturn , int ); +BBTK_DECLARE_INPUT ( abooleanreturn , bool ); +BBTK_DECLARE_INPUT ( afloatreturn , float ); +BBTK_DECLARE_INPUT ( adoublereturn , double ); +BBTK_DECLARE_INPUT ( astringreturn , std::string ); +BBTK_DECLARE_INPUT ( anintegervectorreturn , std::vector ); +BBTK_DECLARE_INPUT ( astringchoicereturn , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExecutionModelTour , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExecutionModelTour" ) ; + BBTK_AUTHOR ( "Daniel Blezek, Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Shows one of each type of parameter." ) ; + BBTK_CATEGORY ( "Developer Tools" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExecutionModelTour , integerVariable , "integerVariable" , int, ""); +BBTK_INPUT(ExecutionModelTour , doubleVariable , "doubleVariable" , double, ""); +BBTK_INPUT(ExecutionModelTour , floatVector , "floatVector" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , stringVector , "stringVector" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , stringChoice , "stringChoice" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , boolean1 , "boolean1" , bool, ""); +BBTK_INPUT(ExecutionModelTour , boolean2 , "boolean2" , bool, ""); +BBTK_INPUT(ExecutionModelTour , boolean3 , "boolean3" , bool, ""); +BBTK_INPUT(ExecutionModelTour , file1 , "file1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , files , "files" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , directory1 , "directory1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , image1 , "image1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , image2 , "image2" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , transform1 , "transform1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , transform2 , "transform2" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , seed , "seed" , std::vector >, ""); +BBTK_INPUT(ExecutionModelTour , arg0 , "arg0" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , arg1 , "arg1" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , regions , "regions" , std::vector >, ""); +BBTK_INPUT(ExecutionModelTour , inputFA , "inputFA" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , outputFA , "outputFA" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , anintegerreturn , "anintegerreturn" , int, ""); +BBTK_INPUT(ExecutionModelTour , abooleanreturn , "abooleanreturn" , bool, ""); +BBTK_INPUT(ExecutionModelTour , afloatreturn , "afloatreturn" , float, ""); +BBTK_INPUT(ExecutionModelTour , adoublereturn , "adoublereturn" , double, ""); +BBTK_INPUT(ExecutionModelTour , astringreturn , "astringreturn" , std::string, ""); +BBTK_INPUT(ExecutionModelTour , anintegervectorreturn , "anintegervectorreturn" , std::vector, ""); +BBTK_INPUT(ExecutionModelTour , astringchoicereturn , "astringchoicereturn" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExecutionModelTour ) ; +} + +#endif // __bbSlicerExecutionModelTour_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx new file mode 100644 index 0000000..61ea18d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.cxx @@ -0,0 +1,82 @@ +#include "bbSlicerExpertAutomatedRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ExpertAutomatedRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ExpertAutomatedRegistration, bbtk::AtomicBlackBox ); + + void ExpertAutomatedRegistration::Process ( ) { + + // GENERATED + +int _argc =28; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRegisterImagesModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputresampledImage( ) ) ) ,"@@@@@"," --resampledImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--loadTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputloadTransform( ) ) ) ,"@@@@@"," --loadTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsaveTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialization" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialization( ) ) ) ,"@@@@@"," --initialization ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--registration" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputregistration( ) ) ) ,"@@@@@"," --registration ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--metric" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmetric( ) ) ) ,"@@@@@"," --metric ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedOffset" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedOffset( ) ) ) ,"@@@@@"," --expectedOffset ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedRotation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedRotation( ) ) ) ,"@@@@@"," --expectedRotation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedScale( ) ) ) ,"@@@@@"," --expectedScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--expectedSkew" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedSkew( ) ) ) ,"@@@@@"," --expectedSkew ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--verbosityLevel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputverbosityLevel( ) ) ) ,"@@@@@"," --verbosityLevel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--sampleFromOverlap" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsampleFromOverlap( ) ) ) ,"@@@@@"," --sampleFromOverlap ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageMask( ) ) ) ,"@@@@@"," --fixedImageMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--randomNumberSeed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrandomNumberSeed( ) ) ) ,"@@@@@"," --randomNumberSeed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimizeMemory" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimizeMemory( ) ) ) ,"@@@@@"," --minimizeMemory ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolation( ) ) ) ,"@@@@@"," --interpolation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedLandmarks( ) ) ) ,"@@@@@"," --fixedLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingLandmarks( ) ) ) ,"@@@@@"," --movingLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rigidMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrigidMaxIterations( ) ) ) ,"@@@@@"," --rigidMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rigidSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrigidSamplingRatio( ) ) ) ,"@@@@@"," --rigidSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--affineMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputaffineMaxIterations( ) ) ) ,"@@@@@"," --affineMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--affineSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputaffineSamplingRatio( ) ) ) ,"@@@@@"," --affineSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineMaxIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineMaxIterations( ) ) ) ,"@@@@@"," --bsplineMaxIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineSamplingRatio" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineSamplingRatio( ) ) ) ,"@@@@@"," --bsplineSamplingRatio ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--controlPointSpacing" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcontrolPointSpacing( ) ) ) ,"@@@@@"," --controlPointSpacing ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ExpertAutomatedRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ExpertAutomatedRegistration::bbUserSetDefaultValues ( ) { + } + + void ExpertAutomatedRegistration::bbUserInitializeProcessing ( ) { + } + + void ExpertAutomatedRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h new file mode 100644 index 0000000..5c0312d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerExpertAutomatedRegistration.h @@ -0,0 +1,112 @@ +#ifndef __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ +#define __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ExpertAutomatedRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedImage , std::string ); +BBTK_DECLARE_INPUT ( movingImage , std::string ); +BBTK_DECLARE_INPUT ( resampledImage , std::string ); +BBTK_DECLARE_INPUT ( loadTransform , std::string ); +BBTK_DECLARE_INPUT ( saveTransform , std::string ); +BBTK_DECLARE_INPUT ( initialization , std::string ); +BBTK_DECLARE_INPUT ( registration , std::string ); +BBTK_DECLARE_INPUT ( metric , std::string ); +BBTK_DECLARE_INPUT ( expectedOffset , float ); +BBTK_DECLARE_INPUT ( expectedRotation , float ); +BBTK_DECLARE_INPUT ( expectedScale , float ); +BBTK_DECLARE_INPUT ( expectedSkew , float ); +BBTK_DECLARE_INPUT ( verbosityLevel , std::string ); +BBTK_DECLARE_INPUT ( sampleFromOverlap , bool ); +BBTK_DECLARE_INPUT ( fixedImageMask , std::string ); +BBTK_DECLARE_INPUT ( randomNumberSeed , int ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); +BBTK_DECLARE_INPUT ( minimizeMemory , bool ); +BBTK_DECLARE_INPUT ( interpolation , std::string ); +BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( movingLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( rigidMaxIterations , int ); +BBTK_DECLARE_INPUT ( rigidSamplingRatio , float ); +BBTK_DECLARE_INPUT ( affineMaxIterations , int ); +BBTK_DECLARE_INPUT ( affineSamplingRatio , float ); +BBTK_DECLARE_INPUT ( bsplineMaxIterations , int ); +BBTK_DECLARE_INPUT ( bsplineSamplingRatio , float ); +BBTK_DECLARE_INPUT ( controlPointSpacing , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ExpertAutomatedRegistration" ) ; + BBTK_AUTHOR ( "Stephen R Aylward, Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Provides rigid, affine, and BSpline registration methods via a simple GUI" ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ExpertAutomatedRegistration , fixedImage , "fixedImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , movingImage , "movingImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , resampledImage , "resampledImage" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , loadTransform , "loadTransform" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , saveTransform , "saveTransform" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , initialization , "initialization" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , registration , "registration" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , metric , "metric" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedOffset , "expectedOffset" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedRotation , "expectedRotation" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedScale , "expectedScale" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , expectedSkew , "expectedSkew" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , verbosityLevel , "verbosityLevel" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , sampleFromOverlap , "sampleFromOverlap" , bool, ""); +BBTK_INPUT(ExpertAutomatedRegistration , fixedImageMask , "fixedImageMask" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , randomNumberSeed , "randomNumberSeed" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , numberOfThreads , "numberOfThreads" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , minimizeMemory , "minimizeMemory" , bool, ""); +BBTK_INPUT(ExpertAutomatedRegistration , interpolation , "interpolation" , std::string, ""); +BBTK_INPUT(ExpertAutomatedRegistration , fixedLandmarks , "fixedLandmarks" , std::vector >, ""); +BBTK_INPUT(ExpertAutomatedRegistration , movingLandmarks , "movingLandmarks" , std::vector >, ""); +BBTK_INPUT(ExpertAutomatedRegistration , rigidMaxIterations , "rigidMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , rigidSamplingRatio , "rigidSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , affineMaxIterations , "affineMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , affineSamplingRatio , "affineSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , bsplineMaxIterations , "bsplineMaxIterations" , int, ""); +BBTK_INPUT(ExpertAutomatedRegistration , bsplineSamplingRatio , "bsplineSamplingRatio" , float, ""); +BBTK_INPUT(ExpertAutomatedRegistration , controlPointSpacing , "controlPointSpacing" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ExpertAutomatedRegistration ) ; +} + +#endif // __bbSlicerExpertAutomatedRegistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx b/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx index 5afd4d6..ca15465 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerExtractSkeleton.cxx @@ -11,12 +11,12 @@ namespace bbSlicer { int _argc =6; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libExtractSkeletonLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--type" ) + Mthd::Aux::toString( bbGetInputSkeletonType( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dontPrune" ) + Mthd::Aux::toString( bbGetInputDontPruneBranches( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numPoints" ) + Mthd::Aux::toString( bbGetInputNumberOfPoints( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointsFile" ) + Mthd::Aux::toString( bbGetInputOutputPointsFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--type" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkeletonType( ) ) ) ,"@@@@@"," --type ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--dontPrune" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDontPruneBranches( ) ) ) ,"@@@@@"," --dontPrune ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfPoints( ) ) ) ,"@@@@@"," --numPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointsFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputPointsFileName( ) ) ) ,"@@@@@"," --pointsFile ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx new file mode 100644 index 0000000..b2b8a79 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerFastAffineregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastAffineregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastAffineregistration, bbtk::AtomicBlackBox ); + + void FastAffineregistration::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libAffineRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastAffineregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastAffineregistration::bbUserSetDefaultValues ( ) { + } + + void FastAffineregistration::bbUserInitializeProcessing ( ) { + } + + void FastAffineregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h new file mode 100644 index 0000000..ae6c4a6 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastAffineregistration.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerFastAffineregistration_h_INCLUDED__ +#define __bbSlicerFastAffineregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastAffineregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastAffineregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , int ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastAffineregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastAffineregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using an affine transform and mutual information. This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastAffineregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastAffineregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastAffineregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastAffineregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastAffineregistration , Iterations , "Iterations" , int, ""); +BBTK_INPUT(FastAffineregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(FastAffineregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastAffineregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastAffineregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastAffineregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastAffineregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastAffineregistration ) ; +} + +#endif // __bbSlicerFastAffineregistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx index a4f41cb..cb3326a 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx @@ -11,19 +11,19 @@ namespace bbSlicer { int _argc =13; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineDeformableRegistrationLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::toString( bbGetInputIterations( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::toString( bbGetInputgridSize( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain" ) + Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp" ) + Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ) ,"@@@@@"," --constrain ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ) ,"@@@@@"," --outputwarp ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx new file mode 100644 index 0000000..ef25e18 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.cxx @@ -0,0 +1,67 @@ +#include "bbSlicerFastRigidregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastRigidregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FastRigidregistration, bbtk::AtomicBlackBox ); + + void FastRigidregistration::Process ( ) { + + // GENERATED + +int _argc =13; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRigidRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--testingmode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTestingMode( ) ) ) ,"@@@@@"," --testingmode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLearningRate( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FastRigidregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FastRigidregistration::bbUserSetDefaultValues ( ) { + } + + void FastRigidregistration::bbUserInitializeProcessing ( ) { + } + + void FastRigidregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h new file mode 100644 index 0000000..9628e70 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFastRigidregistration.h @@ -0,0 +1,82 @@ +#ifndef __bbSlicerFastRigidregistration_h_INCLUDED__ +#define __bbSlicerFastRigidregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FastRigidregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FastRigidregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( TestingMode , bool ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , std::vector ); +BBTK_DECLARE_INPUT ( LearningRate , std::vector ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FastRigidregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FastRigidregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information.This module was originally distributed as 'Linear registration' but has been renamed to eliminate confusion with the 'Affine registration' module.This module is often used to align images of different subjects or images of the same subject from different modalities.This module can smooth images prior to registration to mitigate noise and improve convergence. Many of the registration parameters require a working knowledge of the algorithm although the default parameters are sufficient for many registration tasks." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FastRigidregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastRigidregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(FastRigidregistration , TestingMode , "TestingMode" , bool, ""); +BBTK_INPUT(FastRigidregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(FastRigidregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(FastRigidregistration , Iterations , "Iterations" , std::vector, ""); +BBTK_INPUT(FastRigidregistration , LearningRate , "LearningRate" , std::vector, ""); +BBTK_INPUT(FastRigidregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(FastRigidregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(FastRigidregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(FastRigidregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(FastRigidregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(FastRigidregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FastRigidregistration ) ; +} + +#endif // __bbSlicerFastRigidregistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx new file mode 100644 index 0000000..0d6bca8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerFiducialRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FiducialRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( FiducialRegistration, bbtk::AtomicBlackBox ); + + void FiducialRegistration::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libTransformFromFiducialsModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedLandmarks( ) ) ) ,"@@@@@"," --fixedLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingLandmarks" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingLandmarks( ) ) ) ,"@@@@@"," --movingLandmarks ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsaveTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transformType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," --transformType ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void FiducialRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void FiducialRegistration::bbUserSetDefaultValues ( ) { + } + + void FiducialRegistration::bbUserInitializeProcessing ( ) { + } + + void FiducialRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h new file mode 100644 index 0000000..46870b4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerFiducialRegistration.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerFiducialRegistration_h_INCLUDED__ +#define __bbSlicerFiducialRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT FiducialRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( FiducialRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( movingLandmarks , std::vector > ); +BBTK_DECLARE_INPUT ( saveTransform , std::string ); +BBTK_DECLARE_INPUT ( transformType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( FiducialRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "FiducialRegistration" ) ; + BBTK_AUTHOR ( "Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Computes a rigid, similarity or affine transform from a matched list of fiducials" ) ; + BBTK_CATEGORY ( "Registration.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(FiducialRegistration , fixedLandmarks , "fixedLandmarks" , std::vector >, ""); +BBTK_INPUT(FiducialRegistration , movingLandmarks , "movingLandmarks" , std::vector >, ""); +BBTK_INPUT(FiducialRegistration , saveTransform , "saveTransform" , std::string, ""); +BBTK_INPUT(FiducialRegistration , transformType , "transformType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( FiducialRegistration ) ; +} + +#endif // __bbSlicerFiducialRegistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx new file mode 100644 index 0000000..5ba6b77 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.cxx @@ -0,0 +1,63 @@ +#include "bbSlicerForegroundmaskingBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ForegroundmaskingBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ForegroundmaskingBRAINS, bbtk::AtomicBlackBox ); + + void ForegroundmaskingBRAINS::Process ( ) { + + // GENERATED + +int _argc =9; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSROIAutoLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@"," --inputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputROIMaskVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputROIMaskVolume( ) ) ) ,"@@@@@"," --outputROIMaskVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputClippedVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputClippedVolumeROI( ) ) ) ,"@@@@@"," --outputClippedVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--otsuPercentileThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputotsuPercentileThreshold( ) ) ) ,"@@@@@"," --otsuPercentileThreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdCorrectionFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputthresholdCorrectionFactor( ) ) ) ,"@@@@@"," --thresholdCorrectionFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--closingSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputclosingSize( ) ) ) ,"@@@@@"," --closingSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoDilateSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoDilateSize( ) ) ) ,"@@@@@"," --ROIAutoDilateSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolumePixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolumePixelType( ) ) ) ,"@@@@@"," --outputVolumePixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ForegroundmaskingBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ForegroundmaskingBRAINS::bbUserSetDefaultValues ( ) { + } + + void ForegroundmaskingBRAINS::bbUserInitializeProcessing ( ) { + } + + void ForegroundmaskingBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h new file mode 100644 index 0000000..ae8f25e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerForegroundmaskingBRAINS.h @@ -0,0 +1,74 @@ +#ifndef __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ +#define __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ForegroundmaskingBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputROIMaskVolume , std::string ); +BBTK_DECLARE_INPUT ( outputClippedVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( otsuPercentileThreshold , double ); +BBTK_DECLARE_INPUT ( thresholdCorrectionFactor , double ); +BBTK_DECLARE_INPUT ( closingSize , double ); +BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); +BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ForegroundmaskingBRAINS" ) ; + BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; + BBTK_DESCRIPTION ( "This tool uses a combination of otsu thresholding and a closing operations to identify the most prominant foreground region in an image." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ForegroundmaskingBRAINS , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputROIMaskVolume , "outputROIMaskVolume" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputClippedVolumeROI , "outputClippedVolumeROI" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , otsuPercentileThreshold , "otsuPercentileThreshold" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , thresholdCorrectionFactor , "thresholdCorrectionFactor" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , closingSize , "closingSize" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); +BBTK_INPUT(ForegroundmaskingBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS ) ; +} + +#endif // __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx b/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx index bb99921..71d5e09 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerGaussianBlur.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGaussianBlurImageFilterLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::toString( bbGetInputsigma( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsigma( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx new file mode 100644 index 0000000..43a0846 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.cxx @@ -0,0 +1,114 @@ +#include "bbSlicerGeneralRegistrationBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GeneralRegistrationBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GeneralRegistrationBRAINS, bbtk::AtomicBlackBox ); + + void GeneralRegistrationBRAINS::Process ( ) { + + // GENERATED + +int _argc =60; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSFitLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolume( ) ) ) ,"@@@@@"," --fixedVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolume( ) ) ) ,"@@@@@"," --movingVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineTransform( ) ) ) ,"@@@@@"," --bsplineTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--linearTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlinearTransform( ) ) ) ,"@@@@@"," --linearTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialTransform( ) ) ) ,"@@@@@"," --initialTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initializeTransformMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitializeTransformMode( ) ) ) ,"@@@@@"," --initializeTransformMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useRigid" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseRigid( ) ) ) ,"@@@@@"," --useRigid ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useScaleVersor3D" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseScaleVersor3D( ) ) ) ,"@@@@@"," --useScaleVersor3D ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useScaleSkewVersor3D" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseScaleSkewVersor3D( ) ) ) ,"@@@@@"," --useScaleSkewVersor3D ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useAffine" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseAffine( ) ) ) ,"@@@@@"," --useAffine ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useBSpline" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseBSpline( ) ) ) ,"@@@@@"," --useBSpline ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfSamples" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfSamples( ) ) ) ,"@@@@@"," --numberOfSamples ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splineGridSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineGridSize( ) ) ) ,"@@@@@"," --splineGridSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --numberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskProcessingMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskProcessingMode( ) ) ) ,"@@@@@"," --maskProcessingMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedBinaryVolume( ) ) ) ,"@@@@@"," --fixedBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingBinaryVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingBinaryVolume( ) ) ) ,"@@@@@"," --movingBinaryVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputFixedVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputFixedVolumeROI( ) ) ) ,"@@@@@"," --outputFixedVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputMovingVolumeROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputMovingVolumeROI( ) ) ) ,"@@@@@"," --outputMovingVolumeROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolumePixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolumePixelType( ) ) ) ,"@@@@@"," --outputVolumePixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--backgroundFillValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbackgroundFillValue( ) ) ) ,"@@@@@"," --backgroundFillValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskInferiorCutOffFromCenter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskInferiorCutOffFromCenter( ) ) ) ,"@@@@@"," --maskInferiorCutOffFromCenter ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--scaleOutputValues" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputscaleOutputValues( ) ) ) ,"@@@@@"," --scaleOutputValues ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumStepLength" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumStepLength( ) ) ) ,"@@@@@"," --minimumStepLength ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--translationScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtranslationScale( ) ) ) ,"@@@@@"," --translationScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--reproportionScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreproportionScale( ) ) ) ,"@@@@@"," --reproportionScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skewScale" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputskewScale( ) ) ) ,"@@@@@"," --skewScale ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxBSplineDisplacement" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxBSplineDisplacement( ) ) ) ,"@@@@@"," --maxBSplineDisplacement ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramMatch( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramBins( ) ) ) ,"@@@@@"," --numberOfHistogramBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--strippedOutputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstrippedOutputTransform( ) ) ) ,"@@@@@"," --strippedOutputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transformType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," --transformType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputTransform( ) ) ) ,"@@@@@"," --outputTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedVolumeTimeIndex" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedVolumeTimeIndex( ) ) ) ,"@@@@@"," --fixedVolumeTimeIndex ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingVolumeTimeIndex" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingVolumeTimeIndex( ) ) ) ,"@@@@@"," --movingVolumeTimeIndex ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--medianFilterSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmedianFilterSize( ) ) ) ,"@@@@@"," --medianFilterSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--removeIntensityOutliers" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputremoveIntensityOutliers( ) ) ) ,"@@@@@"," --removeIntensityOutliers ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useCachingOfBSplineWeightsMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCachingOfBSplineWeightsMode( ) ) ) ,"@@@@@"," --useCachingOfBSplineWeightsMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--useExplicitPDFDerivativesMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseExplicitPDFDerivativesMode( ) ) ) ,"@@@@@"," --useExplicitPDFDerivativesMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoDilateSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoDilateSize( ) ) ) ,"@@@@@"," --ROIAutoDilateSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ROIAutoClosingSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputROIAutoClosingSize( ) ) ) ,"@@@@@"," --ROIAutoClosingSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--relaxationFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrelaxationFactor( ) ) ) ,"@@@@@"," --relaxationFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumStepLength" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaximumStepLength( ) ) ) ,"@@@@@"," --maximumStepLength ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--failureExitCode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfailureExitCode( ) ) ) ,"@@@@@"," --failureExitCode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--writeTransformOnFailure" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwriteTransformOnFailure( ) ) ) ,"@@@@@"," --writeTransformOnFailure ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--forceMINumberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputforceMINumberOfThreads( ) ) ) ,"@@@@@"," --forceMINumberOfThreads ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--debugLevel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebugLevel( ) ) ) ,"@@@@@"," --debugLevel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--costFunctionConvergenceFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcostFunctionConvergenceFactor( ) ) ) ,"@@@@@"," --costFunctionConvergenceFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--projectedGradientTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputprojectedGradientTolerance( ) ) ) ,"@@@@@"," --projectedGradientTolerance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-G" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUseDebugImageViewer( ) ) ) ,"@@@@@"," -G ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPromptAfterImageSend( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_00" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseMomentsAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_00 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_01" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseGeometryAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_01 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_02" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputuseCenterOfHeadAlign( ) ) ) ,"@@@@@"," --NEVER_USE_THIS_FLAG_IT_IS_OUTDATED_02 ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--permitParameterVariation" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpermitParameterVariation( ) ) ) ,"@@@@@"," --permitParameterVariation ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--costMetric" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcostMetric( ) ) ) ,"@@@@@"," --costMetric ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GeneralRegistrationBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GeneralRegistrationBRAINS::bbUserSetDefaultValues ( ) { + } + + void GeneralRegistrationBRAINS::bbUserInitializeProcessing ( ) { + } + + void GeneralRegistrationBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h new file mode 100644 index 0000000..6bdf64a --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGeneralRegistrationBRAINS.h @@ -0,0 +1,176 @@ +#ifndef __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ +#define __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GeneralRegistrationBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedVolume , std::string ); +BBTK_DECLARE_INPUT ( movingVolume , std::string ); +BBTK_DECLARE_INPUT ( bsplineTransform , std::string ); +BBTK_DECLARE_INPUT ( linearTransform , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( initialTransform , std::string ); +BBTK_DECLARE_INPUT ( initializeTransformMode , std::string ); +BBTK_DECLARE_INPUT ( useRigid , bool ); +BBTK_DECLARE_INPUT ( useScaleVersor3D , bool ); +BBTK_DECLARE_INPUT ( useScaleSkewVersor3D , bool ); +BBTK_DECLARE_INPUT ( useAffine , bool ); +BBTK_DECLARE_INPUT ( useBSpline , bool ); +BBTK_DECLARE_INPUT ( numberOfSamples , int ); +BBTK_DECLARE_INPUT ( splineGridSize , std::vector ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); +BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); +BBTK_DECLARE_INPUT ( outputFixedVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( outputMovingVolumeROI , std::string ); +BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); +BBTK_DECLARE_INPUT ( backgroundFillValue , double ); +BBTK_DECLARE_INPUT ( maskInferiorCutOffFromCenter , double ); +BBTK_DECLARE_INPUT ( scaleOutputValues , bool ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( minimumStepLength , std::vector ); +BBTK_DECLARE_INPUT ( translationScale , double ); +BBTK_DECLARE_INPUT ( reproportionScale , double ); +BBTK_DECLARE_INPUT ( skewScale , double ); +BBTK_DECLARE_INPUT ( maxBSplineDisplacement , double ); +BBTK_DECLARE_INPUT ( histogramMatch , bool ); +BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( strippedOutputTransform , std::string ); +BBTK_DECLARE_INPUT ( transformType , std::vector ); +BBTK_DECLARE_INPUT ( outputTransform , std::string ); +BBTK_DECLARE_INPUT ( fixedVolumeTimeIndex , int ); +BBTK_DECLARE_INPUT ( movingVolumeTimeIndex , int ); +BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); +BBTK_DECLARE_INPUT ( removeIntensityOutliers , double ); +BBTK_DECLARE_INPUT ( useCachingOfBSplineWeightsMode , std::string ); +BBTK_DECLARE_INPUT ( useExplicitPDFDerivativesMode , std::string ); +BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); +BBTK_DECLARE_INPUT ( ROIAutoClosingSize , double ); +BBTK_DECLARE_INPUT ( relaxationFactor , double ); +BBTK_DECLARE_INPUT ( maximumStepLength , double ); +BBTK_DECLARE_INPUT ( failureExitCode , int ); +BBTK_DECLARE_INPUT ( writeTransformOnFailure , bool ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); +BBTK_DECLARE_INPUT ( forceMINumberOfThreads , int ); +BBTK_DECLARE_INPUT ( debugLevel , int ); +BBTK_DECLARE_INPUT ( costFunctionConvergenceFactor , double ); +BBTK_DECLARE_INPUT ( projectedGradientTolerance , double ); +BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); +BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); +BBTK_DECLARE_INPUT ( useMomentsAlign , bool ); +BBTK_DECLARE_INPUT ( useGeometryAlign , bool ); +BBTK_DECLARE_INPUT ( useCenterOfHeadAlign , bool ); +BBTK_DECLARE_INPUT ( permitParameterVariation , std::vector ); +BBTK_DECLARE_INPUT ( costMetric , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GeneralRegistrationBRAINS" ) ; + BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; + BBTK_DESCRIPTION ( "Register a three-dimensional volume to a reference volume Mattes Mutual Information by default. Described in BRAINSFit: Mutual Information Registrations of Whole-Brain 3D Images, Using the Insight Toolkit, Johnson H.J., Harris G., Williams K., The Insight Journal, 2007. http://hdl.handle.net/1926/1291" ) ; + BBTK_CATEGORY ( "Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , bsplineTransform , "bsplineTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , linearTransform , "linearTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , initialTransform , "initialTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , initializeTransformMode , "initializeTransformMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useRigid , "useRigid" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useScaleVersor3D , "useScaleVersor3D" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useScaleSkewVersor3D , "useScaleSkewVersor3D" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useAffine , "useAffine" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useBSpline , "useBSpline" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfSamples , "numberOfSamples" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , splineGridSize , "splineGridSize" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputFixedVolumeROI , "outputFixedVolumeROI" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputMovingVolumeROI , "outputMovingVolumeROI" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maskInferiorCutOffFromCenter , "maskInferiorCutOffFromCenter" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , scaleOutputValues , "scaleOutputValues" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , minimumStepLength , "minimumStepLength" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , translationScale , "translationScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , reproportionScale , "reproportionScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , skewScale , "skewScale" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maxBSplineDisplacement , "maxBSplineDisplacement" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , strippedOutputTransform , "strippedOutputTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , transformType , "transformType" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , outputTransform , "outputTransform" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolumeTimeIndex , "fixedVolumeTimeIndex" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , movingVolumeTimeIndex , "movingVolumeTimeIndex" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , removeIntensityOutliers , "removeIntensityOutliers" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useCachingOfBSplineWeightsMode , "useCachingOfBSplineWeightsMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useExplicitPDFDerivativesMode , "useExplicitPDFDerivativesMode" , std::string, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoClosingSize , "ROIAutoClosingSize" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , relaxationFactor , "relaxationFactor" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , maximumStepLength , "maximumStepLength" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , failureExitCode , "failureExitCode" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , writeTransformOnFailure , "writeTransformOnFailure" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , forceMINumberOfThreads , "forceMINumberOfThreads" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , debugLevel , "debugLevel" , int, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , costFunctionConvergenceFactor , "costFunctionConvergenceFactor" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , projectedGradientTolerance , "projectedGradientTolerance" , double, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useMomentsAlign , "useMomentsAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useGeometryAlign , "useGeometryAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , useCenterOfHeadAlign , "useCenterOfHeadAlign" , bool, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , permitParameterVariation , "permitParameterVariation" , std::vector, ""); +BBTK_INPUT(GeneralRegistrationBRAINS , costMetric , "costMetric" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS ) ; +} + +#endif // __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx new file mode 100644 index 0000000..ef5ab1b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerGradientAnisotropicDiffusion.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GradientAnisotropicDiffusion ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GradientAnisotropicDiffusion, bbtk::AtomicBlackBox ); + + void GradientAnisotropicDiffusion::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGradientAnisotropicDiffusionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--conductance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconductance( ) ) ) ,"@@@@@"," --conductance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timeStep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimeStep( ) ) ) ,"@@@@@"," --timeStep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GradientAnisotropicDiffusion::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GradientAnisotropicDiffusion::bbUserSetDefaultValues ( ) { + } + + void GradientAnisotropicDiffusion::bbUserInitializeProcessing ( ) { + } + + void GradientAnisotropicDiffusion::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h new file mode 100644 index 0000000..eb9e3ad --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGradientAnisotropicDiffusion.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ +#define __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GradientAnisotropicDiffusion + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GradientAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( conductance , double ); +BBTK_DECLARE_INPUT ( numberOfIterations , int ); +BBTK_DECLARE_INPUT ( timeStep , double ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GradientAnisotropicDiffusion , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GradientAnisotropicDiffusion" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Runs gradient anisotropic diffusion on a volume.Anisotropic diffusion methods reduce noise or unwanted detail in images while preserving specific image features, like edges. For many applications, there is an assumption that light-dark transitions edges are interesting. Standard isotropic diffusion methods move and blur light-dark boundaries. Anisotropic diffusion methods are formulated to specifically preserve edges. The conductance term for this implementation is a function of the gradient magnitude of the image at each point, reducing the strength of diffusion at edges. The numerical implementation of this equation is similar to that described in the Perona-Malik paper, but uses a more robust technique for gradient magnitude estimation and has been generalized to N-dimensions." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GradientAnisotropicDiffusion , conductance , "conductance" , double, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , numberOfIterations , "numberOfIterations" , int, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , timeStep , "timeStep" , double, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GradientAnisotropicDiffusion , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GradientAnisotropicDiffusion ) ; +} + +#endif // __bbSlicerGradientAnisotropicDiffusion_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx new file mode 100644 index 0000000..3300e5d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerGrayscaleFillHole.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GrayscaleFillHole ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GrayscaleFillHole, bbtk::AtomicBlackBox ); + + void GrayscaleFillHole::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGrayscaleFillHoleImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GrayscaleFillHole::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GrayscaleFillHole::bbUserSetDefaultValues ( ) { + } + + void GrayscaleFillHole::bbUserInitializeProcessing ( ) { + } + + void GrayscaleFillHole::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h new file mode 100644 index 0000000..695d7e2 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleFillHole.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerGrayscaleFillHole_h_INCLUDED__ +#define __bbSlicerGrayscaleFillHole_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GrayscaleFillHole + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GrayscaleFillHole , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GrayscaleFillHole , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GrayscaleFillHole" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "GrayscaleFillholeImageFilter fills holes in a grayscale image. Holes are local minima in the grayscale topography that are not connected to boundaries of the image. Gray level values adjacent to a hole are extrapolated across the hole.This filter is used to smooth over local minima without affecting the values of local maxima. If you take the difference between the output of this filter and the original image and perhaps threshold the difference above a small value, you'll obtain a map of the local minima.This filter uses the itkGrayscaleGeodesicErodeImageFilter. It provides its own input as the 'mask' input to the geodesic erosion. The 'marker' image for the geodesic erosion is constructed such that boundary pixels match the boundary pixels of the input image and the interior pixels are set to the maximum pixel value in the input image. Geodesic morphology and the Fillhole algorithm is described in Chapter 6 of Pierre Soille's book 'Morphological Image Analysis: Principles and Applications', Second Edition, Springer, 2003. A companion filter, Grayscale Grind Peak, removes peaks in grayscale images." ) ; + BBTK_CATEGORY ( "Filtering.Morphology" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GrayscaleFillHole , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GrayscaleFillHole , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GrayscaleFillHole ) ; +} + +#endif // __bbSlicerGrayscaleFillHole_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx new file mode 100644 index 0000000..aae444b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.cxx @@ -0,0 +1,56 @@ +#include "bbSlicerGrayscaleGrindPeak.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, GrayscaleGrindPeak ) + BBTK_BLACK_BOX_IMPLEMENTATION ( GrayscaleGrindPeak, bbtk::AtomicBlackBox ); + + void GrayscaleGrindPeak::Process ( ) { + + // GENERATED + +int _argc =2; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libGrayscaleGrindPeakImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void GrayscaleGrindPeak::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void GrayscaleGrindPeak::bbUserSetDefaultValues ( ) { + } + + void GrayscaleGrindPeak::bbUserInitializeProcessing ( ) { + } + + void GrayscaleGrindPeak::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h new file mode 100644 index 0000000..0b43992 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerGrayscaleGrindPeak.h @@ -0,0 +1,60 @@ +#ifndef __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ +#define __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT GrayscaleGrindPeak + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( GrayscaleGrindPeak , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GrayscaleGrindPeak , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "GrayscaleGrindPeak" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "GrayscaleGrindPeakImageFilter removes peaks in a grayscale image. Peaks are local maxima in the grayscale topography that are not connected to boundaries of the image. Gray level values adjacent to a peak are extrapolated through the peak.This filter is used to smooth over local maxima without affecting the values of local minima. If you take the difference between the output of this filter and the original image and perhaps threshold the difference above a small value, you'll obtain a map of the local maxima.This filter uses the GrayscaleGeodesicDilateImageFilter. It provides its own input as the 'mask' input to the geodesic erosion. The 'marker' image for the geodesic erosion is constructed such that boundary pixels match the boundary pixels of the input image and the interior pixels are set to the minimum pixel value in the input image.This filter is the dual to the GrayscaleFillholeImageFilter which implements the Fillhole algorithm. Since it is a dual, it is somewhat superfluous but is provided as a convenience.Geodesic morphology and the Fillhole algorithm is described in Chapter 6 of Pierre Soille's book 'Morphological Image Analysis: Principles and Applications', Second Edition, Springer, 2003.A companion filter, Grayscale Fill Hole, fills holes in grayscale images." ) ; + BBTK_CATEGORY ( "Filtering.Morphology" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(GrayscaleGrindPeak , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(GrayscaleGrindPeak , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( GrayscaleGrindPeak ) ; +} + +#endif // __bbSlicerGrayscaleGrindPeak_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx new file mode 100644 index 0000000..b78a83f --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.cxx @@ -0,0 +1,60 @@ +#include "bbSlicerHistogramMatching.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, HistogramMatching ) + BBTK_BLACK_BOX_IMPLEMENTATION ( HistogramMatching, bbtk::AtomicBlackBox ); + + void HistogramMatching::Process ( ) { + + // GENERATED + +int _argc =6; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libHistogramMatchingLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfHistogramLevels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfHistogramLevels( ) ) ) ,"@@@@@"," --numberOfHistogramLevels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfMatchPoints" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfMatchPoints( ) ) ) ,"@@@@@"," --numberOfMatchPoints ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--threshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputthresholdAtMeanIntensity( ) ) ) ,"@@@@@"," --threshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void HistogramMatching::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void HistogramMatching::bbUserSetDefaultValues ( ) { + } + + void HistogramMatching::bbUserInitializeProcessing ( ) { + } + + void HistogramMatching::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h new file mode 100644 index 0000000..efdcef4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerHistogramMatching.h @@ -0,0 +1,68 @@ +#ifndef __bbSlicerHistogramMatching_h_INCLUDED__ +#define __bbSlicerHistogramMatching_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT HistogramMatching + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( HistogramMatching , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( numberOfHistogramLevels , int ); +BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); +BBTK_DECLARE_INPUT ( thresholdAtMeanIntensity , bool ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( HistogramMatching , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "HistogramMatching" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Normalizes the grayscale values of a source image based on the grayscale values of a reference image. This filter uses a histogram matching technique where the histograms of the two images are matched only at a specified number of quantile values.The filter was orginally designed to normalize MR images of the sameMR protocol and same body part. The algorithm works best if background pixels are excluded from both the source and reference histograms. A simple background exclusion method is to exclude all pixels whose grayscale values are smaller than the mean grayscale value. ThresholdAtMeanIntensity switches on this simple background exclusion method.Number of match points governs the number of quantile values to be matched.The filter assumes that both the source and reference are of the same type and that the input and output image type have the same number of dimension and have scalar pixel types." ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(HistogramMatching , numberOfHistogramLevels , "numberOfHistogramLevels" , int, ""); +BBTK_INPUT(HistogramMatching , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); +BBTK_INPUT(HistogramMatching , thresholdAtMeanIntensity , "thresholdAtMeanIntensity" , bool, ""); +BBTK_INPUT(HistogramMatching , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(HistogramMatching , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(HistogramMatching , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( HistogramMatching ) ; +} + +#endif // __bbSlicerHistogramMatching_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx b/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx index cf71b1e..686720d 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerImageLabelCombine.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libImageLabelCombineLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputLabelMap_A( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputLabelMap_B( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputLabelMap( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::toString( bbGetInputFirstOverwrites( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputLabelMap_A( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputLabelMap_B( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputLabelMap( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFirstOverwrites( ) ) ) ,"@@@@@"," -f ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx new file mode 100644 index 0000000..374606d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerJointRicianLMMSEImageFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, JointRicianLMMSEImageFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( JointRicianLMMSEImageFilter, bbtk::AtomicBlackBox ); + + void JointRicianLMMSEImageFilter::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libjointLMMSELib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--ng" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiNumNeighbors( ) ) ) ,"@@@@@"," --ng ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void JointRicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void JointRicianLMMSEImageFilter::bbUserSetDefaultValues ( ) { + } + + void JointRicianLMMSEImageFilter::bbUserInitializeProcessing ( ) { + } + + void JointRicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h new file mode 100644 index 0000000..ace562e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerJointRicianLMMSEImageFilter.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ +#define __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT JointRicianLMMSEImageFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( JointRicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector ); +BBTK_DECLARE_INPUT ( iNumNeighbors , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( JointRicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "JointRicianLMMSEImageFilter" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez. University of Valladolid SPAIN. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces Rician noise or unwanted detail on a set of diffusion weighted images. For this, it filters the image in the mean squared error sense using a Rician noise model. The N closest gradient directions to the direction being processed are filtered together to improve the results: the noise-free signal is seen as an n-diemensional vector which has to be estimated with the LMMSE method from a set of corrupted measurements. To that end, the covariance matrix of the noise-free vector and the cross covariance between this signal and the noise have to be estimated, which is done taking into account the image formation process.The noise parameter is automatically estimated from a rough segmentation of the background of the image. In this area the signal is simply 0, so that Rician statistics reduce to Rayleigh and the noise power can be easily estimated from the mode of the histogram.A complete description of the algorithm may be found in:Antonio Tristan-Vega and Santiago Aja-Fernandez, DWI filtering using joint information for DTI and HARDI, Medical Image Analysis, Volume 14, Issue 2, Pages 205-218. 2010." ) ; + BBTK_CATEGORY ( "Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(JointRicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , iNumNeighbors , "iNumNeighbors" , int, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(JointRicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( JointRicianLMMSEImageFilter ) ; +} + +#endif // __bbSlicerJointRicianLMMSEImageFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx b/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx index 8d6febc..3bd0ff5 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerLabelMapSmoothing.cxx @@ -11,12 +11,12 @@ namespace bbSlicer { int _argc =6; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libLabelMapSmoothingLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelToSmooth" ) + Mthd::Aux::toString( bbGetInputlabelToSmooth( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRMSError" ) + Mthd::Aux::toString( bbGetInputmaxRMSError( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gaussianSigma" ) + Mthd::Aux::toString( bbGetInputgaussianSigma( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelToSmooth" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelToSmooth( ) ) ) ,"@@@@@"," --labelToSmooth ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --numberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRMSError" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxRMSError( ) ) ) ,"@@@@@"," --maxRMSError ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gaussianSigma" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgaussianSigma( ) ) ) ,"@@@@@"," --gaussianSigma ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx new file mode 100644 index 0000000..98f4d66 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.cxx @@ -0,0 +1,66 @@ +#include "bbSlicerLinearregistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Linearregistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Linearregistration, bbtk::AtomicBlackBox ); + + void Linearregistration::Process ( ) { + + // GENERATED + +int _argc =12; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libLinearRegistrationLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageSmoothingFactor( ) ) ) ,"@@@@@"," --fixedsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--movingsmoothingfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageSmoothingFactor( ) ) ) ,"@@@@@"," --movingsmoothingfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLearningRate( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputTranslationScale( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Linearregistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Linearregistration::bbUserSetDefaultValues ( ) { + } + + void Linearregistration::bbUserInitializeProcessing ( ) { + } + + void Linearregistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h new file mode 100644 index 0000000..3f1013c --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerLinearregistration.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerLinearregistration_h_INCLUDED__ +#define __bbSlicerLinearregistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Linearregistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Linearregistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( FixedImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( MovingImageSmoothingFactor , int ); +BBTK_DECLARE_INPUT ( HistogramBins , int ); +BBTK_DECLARE_INPUT ( SpatialSamples , int ); +BBTK_DECLARE_INPUT ( Iterations , std::vector ); +BBTK_DECLARE_INPUT ( LearningRate , std::vector ); +BBTK_DECLARE_INPUT ( TranslationScale , double ); +BBTK_DECLARE_INPUT ( InitialTransform , std::string ); +BBTK_DECLARE_INPUT ( FixedImageFileName , std::string ); +BBTK_DECLARE_INPUT ( MovingImageFileName , std::string ); +BBTK_DECLARE_INPUT ( OutputTransform , std::string ); +BBTK_DECLARE_INPUT ( ResampledImageFileName , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Linearregistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Linearregistration" ) ; + BBTK_AUTHOR ( "Daniel Blezek" ) ; + BBTK_DESCRIPTION ( "Registers two images together using a rigid transform and mutual information." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Linearregistration , FixedImageSmoothingFactor , "FixedImageSmoothingFactor" , int, ""); +BBTK_INPUT(Linearregistration , MovingImageSmoothingFactor , "MovingImageSmoothingFactor" , int, ""); +BBTK_INPUT(Linearregistration , HistogramBins , "HistogramBins" , int, ""); +BBTK_INPUT(Linearregistration , SpatialSamples , "SpatialSamples" , int, ""); +BBTK_INPUT(Linearregistration , Iterations , "Iterations" , std::vector, ""); +BBTK_INPUT(Linearregistration , LearningRate , "LearningRate" , std::vector, ""); +BBTK_INPUT(Linearregistration , TranslationScale , "TranslationScale" , double, ""); +BBTK_INPUT(Linearregistration , InitialTransform , "InitialTransform" , std::string, ""); +BBTK_INPUT(Linearregistration , FixedImageFileName , "FixedImageFileName" , std::string, ""); +BBTK_INPUT(Linearregistration , MovingImageFileName , "MovingImageFileName" , std::string, ""); +BBTK_INPUT(Linearregistration , OutputTransform , "OutputTransform" , std::string, ""); +BBTK_INPUT(Linearregistration , ResampledImageFileName , "ResampledImageFileName" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Linearregistration ) ; +} + +#endif // __bbSlicerLinearregistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx index 946408f..61d0ffe 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.cxx @@ -11,16 +11,16 @@ namespace bbSlicer { int _argc =10; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMRIBiasFieldCorrectionLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputImage" ) + Mthd::Aux::toString( bbGetInputInputImage( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputMask" ) + Mthd::Aux::toString( bbGetInputInputMask( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputImage" ) + Mthd::Aux::toString( bbGetInputOutputImage( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--algorithmType" ) + Mthd::Aux::toString( bbGetInputAlgorithmType( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkFactor" ) + Mthd::Aux::toString( bbGetInputShrinkFactor( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumNumberOfIterations" ) + Mthd::Aux::toString( bbGetInputMaximumNumberOfIterations( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfFittingLevels" ) + Mthd::Aux::toString( bbGetInputNumberOfFittingLevels( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--wienerFilterNoise" ) + Mthd::Aux::toString( bbGetInputWienerFilterNoise( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fullWidthAtHalfMaximum" ) + Mthd::Aux::toString( bbGetInputFullWidthAtHalfMaximum( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergenceThreshold" ) + Mthd::Aux::toString( bbGetInputConvergenceThreshold( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputImage( ) ) ) ,"@@@@@"," --inputImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputMask( ) ) ) ,"@@@@@"," --inputMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputImage( ) ) ) ,"@@@@@"," --outputImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--algorithmType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputAlgorithmType( ) ) ) ,"@@@@@"," --algorithmType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkFactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputShrinkFactor( ) ) ) ,"@@@@@"," --shrinkFactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maximumNumberOfIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumNumberOfIterations( ) ) ) ,"@@@@@"," --maximumNumberOfIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfFittingLevels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfFittingLevels( ) ) ) ,"@@@@@"," --numberOfFittingLevels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--wienerFilterNoise" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputWienerFilterNoise( ) ) ) ,"@@@@@"," --wienerFilterNoise ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fullWidthAtHalfMaximum" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFullWidthAtHalfMaximum( ) ) ) ,"@@@@@"," --fullWidthAtHalfMaximum ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergenceThreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConvergenceThreshold( ) ) ) ,"@@@@@"," --convergenceThreshold ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h index 7b491ff..10533e1 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h +++ b/bbtk_Slicer_PKG/src/bbSlicerMRIBiasFieldCorrection.h @@ -49,8 +49,8 @@ BBTK_DECLARE_INPUT ( ConvergenceThreshold , double ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MRIBiasFieldCorrection , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "MRIBiasFieldCorrection" ) ; - BBTK_AUTHOR ( "Sylvain Jaume (MIT)" ) ; - BBTK_DESCRIPTION ( "Corrects 3D MRI images corrupted by MRI gain field effect. This module removes the slow-varying intensity variation from a 3D image. The output image has a higher contrast locally and the visualization and reading of the image are improved. This is an important pre-processinbg step for image operations requiring intensity perfect images, such as the Expectation Maximization segmentation (see EMSegment module). The N3 and N4 methods are described in N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, Tustison N., Gee J., Insight Journal, 2009. http://hdl.handle.net/10380/3053 The Slicer code was contributed by Sylvain Jaume (MIT) for NA-MIC (http://na-mic.org)." ) ; + BBTK_AUTHOR ( "Sylvain Jaume MIT" ) ; + BBTK_DESCRIPTION ( "Corrects 3D MRI images corrupted by MRI gain field effect. This module removes the slow-varying intensity variation from a 3D image. The output image has a higher contrast locally and the visualization and reading of the image are improved. This is an important pre-processinbg step for image operations requiring intensity perfect images, such as the Expectation Maximization segmentation see EMSegment module. The N3 and N4 methods are described in N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, Tustison N., Gee J., Insight Journal, 2009. http://hdl.handle.net/10380/3053 The Slicer code was contributed by Sylvain Jaume MIT for NA-MIC http://na-mic.org." ) ; BBTK_CATEGORY ( "Legacy.Filtering" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx index e657ec1..1df060b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.cxx @@ -11,11 +11,11 @@ namespace bbSlicer { int _argc =5; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMaskLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMaskVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::toString( bbGetInputLabel( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::toString( bbGetInputReplace( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaskVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabel( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputReplace( ) ) ) ,"@@@@@"," -r ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h index 1dbe285..73f9b29 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h +++ b/bbtk_Slicer_PKG/src/bbSlicerMaskImage.h @@ -44,7 +44,7 @@ BBTK_DECLARE_INPUT ( Replace , int ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MaskImage , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "MaskImage" ) ; - BBTK_AUTHOR ( "Nicole Aucoin, BWH (Ron Kikinis, BWH)" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH" ) ; BBTK_DESCRIPTION ( "Masks two images. The output image is set to 0 everywhere except where the chosen label from the mask volume is present, at which point it will retain it's original values. Although all image types are supported on input, only signed types are produced. The two images do not have to have the same dimensions." ) ; BBTK_CATEGORY ( "Filtering.Arithmetic" ) ; diff --git a/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx new file mode 100644 index 0000000..80f8a20 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.cxx @@ -0,0 +1,57 @@ +#include "bbSlicerMedianFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MedianFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MedianFilter, bbtk::AtomicBlackBox ); + + void MedianFilter::Process ( ) { + + // GENERATED + +int _argc =3; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMedianImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhood" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhood( ) ) ) ,"@@@@@"," --neighborhood ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MedianFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MedianFilter::bbUserSetDefaultValues ( ) { + } + + void MedianFilter::bbUserInitializeProcessing ( ) { + } + + void MedianFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h new file mode 100644 index 0000000..3518df1 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMedianFilter.h @@ -0,0 +1,62 @@ +#ifndef __bbSlicerMedianFilter_h_INCLUDED__ +#define __bbSlicerMedianFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MedianFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MedianFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( neighborhood , std::vector ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MedianFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MedianFilter" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "The MedianImageFilter is commonly used as a robust approach for noise reduction. This filter is particularly efficient against 'salt-and-pepper' noise. In other words, it is robust to the presence of gray-level outliers. MedianImageFilter computes the value of each output pixel as the statistical median of the neighborhood of values around the corresponding input pixel." ) ; + BBTK_CATEGORY ( "Filtering.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MedianFilter , neighborhood , "neighborhood" , std::vector, ""); +BBTK_INPUT(MedianFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(MedianFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MedianFilter ) ; +} + +#endif // __bbSlicerMedianFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx index fec4de3..94312c1 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMergeModelsLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputModel1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputModel2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputModelOutput( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModel1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModel2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelOutput( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h index 2ff5f2d..085777e 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h +++ b/bbtk_Slicer_PKG/src/bbSlicerMergeModels.h @@ -42,7 +42,7 @@ BBTK_DECLARE_INPUT ( ModelOutput , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MergeModels , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "MergeModels" ) ; - BBTK_AUTHOR ( "Nicole Aucoin BWH (Ron Kikinis, BWH), Daniel Haehn" ) ; + BBTK_AUTHOR ( "Nicole Aucoin BWH Ron Kikinis, BWH, Daniel Haehn" ) ; BBTK_DESCRIPTION ( "Merge the polydata from two input models and output a new model with the added polydata. Uses the vtkAppendPolyData filter. Works on .vtp and .vtk surface files." ) ; BBTK_CATEGORY ( "Surface Models" ) ; diff --git a/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx new file mode 100644 index 0000000..bdb8ba9 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.cxx @@ -0,0 +1,64 @@ +#include "bbSlicerMeshContourSegmentation.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, MeshContourSegmentation ) + BBTK_BLACK_BOX_IMPLEMENTATION ( MeshContourSegmentation, bbtk::AtomicBlackBox ); + + void MeshContourSegmentation::Process ( ) { + + // GENERATED + +int _argc =10; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libSparseFieldLevelSetContourLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputScene" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputSurface( ) ) ) ,"@@@@@"," --inputScene ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputContourSeedPts( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputModel" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputModel( ) ) ) ,"@@@@@"," --outputModel ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--evolve_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputevolve_its( ) ) ) ,"@@@@@"," --evolve_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mesh_smooth_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmesh_smooth_its( ) ) ) ,"@@@@@"," --mesh_smooth_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--H_smooth_its" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputH_smooth_its( ) ) ) ,"@@@@@"," --H_smooth_its ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--adj_levels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputadj_levels( ) ) ) ,"@@@@@"," --adj_levels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--showLS" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshowLS( ) ) ) ,"@@@@@"," --showLS ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rightHandMesh" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrightHandMesh( ) ) ) ,"@@@@@"," --rightHandMesh ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--is_test" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputis_test( ) ) ) ,"@@@@@"," --is_test ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void MeshContourSegmentation::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void MeshContourSegmentation::bbUserSetDefaultValues ( ) { + } + + void MeshContourSegmentation::bbUserInitializeProcessing ( ) { + } + + void MeshContourSegmentation::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h new file mode 100644 index 0000000..0f9cdf4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMeshContourSegmentation.h @@ -0,0 +1,76 @@ +#ifndef __bbSlicerMeshContourSegmentation_h_INCLUDED__ +#define __bbSlicerMeshContourSegmentation_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT MeshContourSegmentation + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( MeshContourSegmentation , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputSurface , std::string ); +BBTK_DECLARE_INPUT ( ContourSeedPts , std::vector > ); +BBTK_DECLARE_INPUT ( OutputModel , std::string ); +BBTK_DECLARE_INPUT ( evolve_its , int ); +BBTK_DECLARE_INPUT ( mesh_smooth_its , int ); +BBTK_DECLARE_INPUT ( H_smooth_its , int ); +BBTK_DECLARE_INPUT ( adj_levels , int ); +BBTK_DECLARE_INPUT ( showLS , bool ); +BBTK_DECLARE_INPUT ( rightHandMesh , bool ); +BBTK_DECLARE_INPUT ( is_test , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( MeshContourSegmentation , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "MeshContourSegmentation" ) ; + BBTK_AUTHOR ( "Peter Karasev, pkarasev@gatech.edu, Allen Tannenbaum, tannenba@ece.gatech.edu" ) ; + BBTK_DESCRIPTION ( "Sparse-Field Levelset Mesh Segmentation. Given some initial points in polydata will construct a contour and evolve it to high mean-curvature areas, returning the interior region indices.Once the output surface has been loaded into Slicer, go to the Models module, Model Display pane, and set the Scalar Visibility Flag, select the LevelSetValue as the active scalar array, and pick the FreeSurfer RedGreen Scalar Color Map. The InitialCurvature and SmoothedCurvature may appear if the path finding failed. An example calling convention from the commandline for this module:--inputScene C:/.../bin/Release/LSVTKOut1.vtk' -c '1.5,1.5,0' -c '-1.5,1.5,0' -c '-1.5,-1.5,0' -c '1.5,-1.5,0' --outputFilename 'tempOut.vtk'This gives it an initial geometry in the vtk file, four seed points in x,y,z coordinates, and where to write the output.The resulting output contains a colormap that defines interior/exterior of the surface as determined by evolving the curve into high mean curvature areas." ) ; + BBTK_CATEGORY ( "Segmentation.Specialized" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(MeshContourSegmentation , InputSurface , "InputSurface" , std::string, ""); +BBTK_INPUT(MeshContourSegmentation , ContourSeedPts , "ContourSeedPts" , std::vector >, ""); +BBTK_INPUT(MeshContourSegmentation , OutputModel , "OutputModel" , std::string, ""); +BBTK_INPUT(MeshContourSegmentation , evolve_its , "evolve_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , mesh_smooth_its , "mesh_smooth_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , H_smooth_its , "H_smooth_its" , int, ""); +BBTK_INPUT(MeshContourSegmentation , adj_levels , "adj_levels" , int, ""); +BBTK_INPUT(MeshContourSegmentation , showLS , "showLS" , bool, ""); +BBTK_INPUT(MeshContourSegmentation , rightHandMesh , "rightHandMesh" , bool, ""); +BBTK_INPUT(MeshContourSegmentation , is_test , "is_test" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( MeshContourSegmentation ) ; +} + +#endif // __bbSlicerMeshContourSegmentation_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx new file mode 100644 index 0000000..2f7737c --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.cxx @@ -0,0 +1,72 @@ +#include "bbSlicerModelMaker.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ModelMaker ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ModelMaker, bbtk::AtomicBlackBox ); + + void ModelMaker::Process ( ) { + + // GENERATED + +int _argc =18; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libModelMakerLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--modelSceneFile" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModelSceneFile( ) ) ) ,"@@@@@"," --modelSceneFile ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputName( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--generateAll" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputGenerateAll( ) ) ) ,"@@@@@"," --generateAll ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLabels( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputStartLabel( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-e" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputEndLabel( ) ) ) ,"@@@@@"," -e ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--skipUnNamed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSkipUnNamed( ) ) ) ,"@@@@@"," --skipUnNamed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-j" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputJointSmoothing( ) ) ) ,"@@@@@"," -j ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smooth" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSmooth( ) ) ) ,"@@@@@"," --smooth ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--filtertype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFilterType( ) ) ) ,"@@@@@"," --filtertype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--decimate" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDecimate( ) ) ) ,"@@@@@"," --decimate ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splitnormals" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSplitNormals( ) ) ) ,"@@@@@"," --splitnormals ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pointnormals" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPointNormals( ) ) ) ,"@@@@@"," --pointnormals ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pad" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputPad( ) ) ) ,"@@@@@"," --pad ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveIntermediateModels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSaveIntermediateModels( ) ) ) ,"@@@@@"," --saveIntermediateModels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdebug( ) ) ) ,"@@@@@"," -d ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ModelMaker::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ModelMaker::bbUserSetDefaultValues ( ) { + } + + void ModelMaker::bbUserInitializeProcessing ( ) { + } + + void ModelMaker::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerModelMaker.h b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.h new file mode 100644 index 0000000..05045b3 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerModelMaker.h @@ -0,0 +1,92 @@ +#ifndef __bbSlicerModelMaker_h_INCLUDED__ +#define __bbSlicerModelMaker_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ModelMaker + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ModelMaker , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( ColorTable , std::string ); +BBTK_DECLARE_INPUT ( ModelSceneFile , std::string ); +BBTK_DECLARE_INPUT ( Name , std::string ); +BBTK_DECLARE_INPUT ( GenerateAll , bool ); +BBTK_DECLARE_INPUT ( Labels , std::vector ); +BBTK_DECLARE_INPUT ( StartLabel , int ); +BBTK_DECLARE_INPUT ( EndLabel , int ); +BBTK_DECLARE_INPUT ( SkipUnNamed , bool ); +BBTK_DECLARE_INPUT ( JointSmoothing , bool ); +BBTK_DECLARE_INPUT ( Smooth , int ); +BBTK_DECLARE_INPUT ( FilterType , std::string ); +BBTK_DECLARE_INPUT ( Decimate , float ); +BBTK_DECLARE_INPUT ( SplitNormals , bool ); +BBTK_DECLARE_INPUT ( PointNormals , bool ); +BBTK_DECLARE_INPUT ( Pad , bool ); +BBTK_DECLARE_INPUT ( SaveIntermediateModels , bool ); +BBTK_DECLARE_INPUT ( debug , bool ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ModelMaker , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ModelMaker" ) ; + BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH, Bill Lorensen GE" ) ; + BBTK_DESCRIPTION ( "Create 3D surface models from segmented data. pModels are imported into Slicer under a model hierarchy node in a MRML scene. The model colors are set by the color table associated with the input volume these colours will only be visible if you load the model scene file. /ppbCreate Multiple:/b/pp If you specify a list of Labels, it will over ride any start/end label settings. /pp If you click iGenerate All/i it will over ride the list of lables and any start/end label settings. /ppbModel Maker Settings:/b/pp You can set the number of smoothing iterations, target reduction in number of polygons decimal percentage. Use 0 and 1 if you wish no smoothing nor decimation. brYou can set the flags to split normals or generate point normals in this pane as well. brYou can save a copy of the models after intermediate steps marching cubes, smoothing, and decimation if not joint smoothing, otherwise just after decimation; these models are not saved in the mrml file, turn off deleting temporary files first in the python window: brislicer.modules.modelmaker.cliModuleLogic.DeleteTemporaryFilesOff/i/p" ) ; + BBTK_CATEGORY ( "Surface Models" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ModelMaker , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ModelMaker , ColorTable , "ColorTable" , std::string, ""); +BBTK_INPUT(ModelMaker , ModelSceneFile , "ModelSceneFile" , std::string, ""); +BBTK_INPUT(ModelMaker , Name , "Name" , std::string, ""); +BBTK_INPUT(ModelMaker , GenerateAll , "GenerateAll" , bool, ""); +BBTK_INPUT(ModelMaker , Labels , "Labels" , std::vector, ""); +BBTK_INPUT(ModelMaker , StartLabel , "StartLabel" , int, ""); +BBTK_INPUT(ModelMaker , EndLabel , "EndLabel" , int, ""); +BBTK_INPUT(ModelMaker , SkipUnNamed , "SkipUnNamed" , bool, ""); +BBTK_INPUT(ModelMaker , JointSmoothing , "JointSmoothing" , bool, ""); +BBTK_INPUT(ModelMaker , Smooth , "Smooth" , int, ""); +BBTK_INPUT(ModelMaker , FilterType , "FilterType" , std::string, ""); +BBTK_INPUT(ModelMaker , Decimate , "Decimate" , float, ""); +BBTK_INPUT(ModelMaker , SplitNormals , "SplitNormals" , bool, ""); +BBTK_INPUT(ModelMaker , PointNormals , "PointNormals" , bool, ""); +BBTK_INPUT(ModelMaker , Pad , "Pad" , bool, ""); +BBTK_INPUT(ModelMaker , SaveIntermediateModels , "SaveIntermediateModels" , bool, ""); +BBTK_INPUT(ModelMaker , debug , "debug" , bool, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ModelMaker ) ; +} + +#endif // __bbSlicerModelMaker_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx new file mode 100644 index 0000000..4eb9c42 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerMultiplemodelsexample.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Multiplemodelsexample ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Multiplemodelsexample, bbtk::AtomicBlackBox ); + + void Multiplemodelsexample::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMultipleModelsExampleLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--color" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputColorTable( ) ) ) ,"@@@@@"," --color ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfModels" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputNumberOfModels( ) ) ) ,"@@@@@"," --numberOfModels ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--models" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputModels( ) ) ) ,"@@@@@"," --models ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Multiplemodelsexample::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Multiplemodelsexample::bbUserSetDefaultValues ( ) { + } + + void Multiplemodelsexample::bbUserInitializeProcessing ( ) { + } + + void Multiplemodelsexample::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h new file mode 100644 index 0000000..5b663ce --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerMultiplemodelsexample.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerMultiplemodelsexample_h_INCLUDED__ +#define __bbSlicerMultiplemodelsexample_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Multiplemodelsexample + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Multiplemodelsexample , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( ColorTable , std::string ); +BBTK_DECLARE_INPUT ( NumberOfModels , int ); +BBTK_DECLARE_INPUT ( Models , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Multiplemodelsexample , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Multiplemodelsexample" ) ; + BBTK_AUTHOR ( "Nicole Aucoin" ) ; + BBTK_DESCRIPTION ( "Create 3D surface models from segmented data.This example exports colors and imports a set of models automatically.If specify a list of Labels, it will over ride any start/end label settings." ) ; + BBTK_CATEGORY ( "Developer Tools" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Multiplemodelsexample , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(Multiplemodelsexample , ColorTable , "ColorTable" , std::string, ""); +BBTK_INPUT(Multiplemodelsexample , NumberOfModels , "NumberOfModels" , int, ""); +BBTK_INPUT(Multiplemodelsexample , Models , "Models" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Multiplemodelsexample ) ; +} + +#endif // __bbSlicerMultiplemodelsexample_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx index d7afe4c..2e2414d 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerMultiplyImages.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libMultiplyLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::toString( bbGetInputorder( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx new file mode 100644 index 0000000..5cf847e --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.cxx @@ -0,0 +1,66 @@ +#include "bbSlicerN4ITKMRIBiascorrection.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, N4ITKMRIBiascorrection ) + BBTK_BLACK_BOX_IMPLEMENTATION ( N4ITKMRIBiascorrection, bbtk::AtomicBlackBox ); + + void N4ITKMRIBiascorrection::Process ( ) { + + // GENERATED + +int _argc =12; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libN4ITKBiasFieldCorrectionLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputImageName( ) ) ) ,"@@@@@"," --inputimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskImageName( ) ) ) ,"@@@@@"," --maskimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageName( ) ) ) ,"@@@@@"," --outputimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputbiasfield" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputBiasFieldName( ) ) ) ,"@@@@@"," --outputbiasfield ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergencethreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconvergenceThreshold( ) ) ) ,"@@@@@"," --convergencethreshold ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--meshresolution" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialMeshResolution( ) ) ) ,"@@@@@"," --meshresolution ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splinedistance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineDistance( ) ) ) ,"@@@@@"," --splinedistance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshrinkFactor( ) ) ) ,"@@@@@"," --shrinkfactor ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineorder" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineOrder( ) ) ) ,"@@@@@"," --bsplineorder ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--weightimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputweightImageName( ) ) ) ,"@@@@@"," --weightimage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--histogramsharpening" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramSharpening( ) ) ) ,"@@@@@"," --histogramsharpening ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void N4ITKMRIBiascorrection::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void N4ITKMRIBiascorrection::bbUserSetDefaultValues ( ) { + } + + void N4ITKMRIBiascorrection::bbUserInitializeProcessing ( ) { + } + + void N4ITKMRIBiascorrection::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h new file mode 100644 index 0000000..288c385 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ +#define __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT N4ITKMRIBiascorrection + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputImageName , std::string ); +BBTK_DECLARE_INPUT ( maskImageName , std::string ); +BBTK_DECLARE_INPUT ( outputImageName , std::string ); +BBTK_DECLARE_INPUT ( outputBiasFieldName , std::string ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( convergenceThreshold , float ); +BBTK_DECLARE_INPUT ( initialMeshResolution , std::vector ); +BBTK_DECLARE_INPUT ( splineDistance , float ); +BBTK_DECLARE_INPUT ( shrinkFactor , int ); +BBTK_DECLARE_INPUT ( bsplineOrder , int ); +BBTK_DECLARE_INPUT ( weightImageName , std::string ); +BBTK_DECLARE_INPUT ( histogramSharpening , std::vector ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "N4ITKMRIBiascorrection" ) ; + BBTK_AUTHOR ( "Nick Tustison algorithm and ITK implementation, Andrey Fedorov Slicer wrapping, Ron Kikinis PI" ) ; + BBTK_DESCRIPTION ( "Performs MRI bias correction using N4 algorithm. This module is based on the ITK filters contributed in the following publication: Tustison N, Gee J 'N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction', The Insight Journal 2009 January-June, http://hdl.handle.net/10380/3053" ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(N4ITKMRIBiascorrection , inputImageName , "inputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , maskImageName , "maskImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputImageName , "outputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputBiasFieldName , "outputBiasFieldName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , convergenceThreshold , "convergenceThreshold" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , initialMeshResolution , "initialMeshResolution" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , splineDistance , "splineDistance" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , shrinkFactor , "shrinkFactor" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , bsplineOrder , "bsplineOrder" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , weightImageName , "weightImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , histogramSharpening , "histogramSharpening" , std::vector, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection ) ; +} + +#endif // __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx index ad000d5..defb112 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.cxx @@ -11,9 +11,9 @@ namespace bbSlicer { int _argc =3; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOrientImageLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::toString( bbGetInputorientation( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorientation( ) ) ) ,"@@@@@"," -o ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h index aa56ba3..4c6becd 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h +++ b/bbtk_Slicer_PKG/src/bbSlicerOrientImages.h @@ -43,7 +43,7 @@ BBTK_DECLARE_INPUT ( orientation , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OrientImages , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "OrientImages" ) ; BBTK_AUTHOR ( "Bill Lorensen" ) ; - BBTK_DESCRIPTION ( "Orients an output volume. Rearranges the slices in a volume according to the selected orientation. The slices are not interpolated. They are just reordered and/or permuted. The resulting volume will cover the original volume. NOTE: since Slicer takes into account the orientation of a volume, the re-oriented volume will not show any difference from the original volume, To see the difference, save the volume and display it with a system that either ignores the orientation of the image (e.g. Paraview) or displays individual images." ) ; + BBTK_DESCRIPTION ( "Orients an output volume. Rearranges the slices in a volume according to the selected orientation. The slices are not interpolated. They are just reordered and/or permuted. The resulting volume will cover the original volume. NOTE: since Slicer takes into account the orientation of a volume, the re-oriented volume will not show any difference from the original volume, To see the difference, save the volume and display it with a system that either ignores the orientation of the image e.g. Paraview or displays individual images." ) ; BBTK_CATEGORY ( "Converters" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx new file mode 100644 index 0000000..1dfb42b --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.cxx @@ -0,0 +1,59 @@ +#include "bbSlicerOtsuThreshold.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, OtsuThreshold ) + BBTK_BLACK_BOX_IMPLEMENTATION ( OtsuThreshold, bbtk::AtomicBlackBox ); + + void OtsuThreshold::Process ( ) { + + // GENERATED + +int _argc =5; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOtsuThresholdImageFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--insideValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinsideValue( ) ) ) ,"@@@@@"," --insideValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outsideValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutsideValue( ) ) ) ,"@@@@@"," --outsideValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ) ,"@@@@@"," --numberOfBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void OtsuThreshold::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void OtsuThreshold::bbUserSetDefaultValues ( ) { + } + + void OtsuThreshold::bbUserInitializeProcessing ( ) { + } + + void OtsuThreshold::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h new file mode 100644 index 0000000..d179f2d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThreshold.h @@ -0,0 +1,66 @@ +#ifndef __bbSlicerOtsuThreshold_h_INCLUDED__ +#define __bbSlicerOtsuThreshold_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT OtsuThreshold + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( OtsuThreshold , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( insideValue , int ); +BBTK_DECLARE_INPUT ( outsideValue , int ); +BBTK_DECLARE_INPUT ( numberOfBins , int ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OtsuThreshold , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "OtsuThreshold" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "This filter creates a binary thresholded image that separates an image into foreground and background components. The filter calculates the optimum threshold separating those two classes so that their combined spread intra-class variance is minimal see http://en.wikipedia.org/wiki/Otsu%27s_method. Then the filter applies that threshold to the input image using the itkBinaryThresholdImageFilter. The numberOfHistogram bins can be set for the Otsu Calculator. The insideValue and outsideValue can be set for the BinaryThresholdImageFilter. The filter produces a labeled volume.The original reference is: N.Otsu, ‘‘A threshold selection method from gray level histograms,’’ IEEE Trans.Syst.ManCybern.SMC-9,62–66 1979." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(OtsuThreshold , insideValue , "insideValue" , int, ""); +BBTK_INPUT(OtsuThreshold , outsideValue , "outsideValue" , int, ""); +BBTK_INPUT(OtsuThreshold , numberOfBins , "numberOfBins" , int, ""); +BBTK_INPUT(OtsuThreshold , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(OtsuThreshold , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( OtsuThreshold ) ; +} + +#endif // __bbSlicerOtsuThreshold_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx index 7b0ad99..7be627b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.cxx @@ -11,12 +11,12 @@ namespace bbSlicer { int _argc =6; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libOtsuThresholdSegmentationLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--brightObjects" ) + Mthd::Aux::toString( bbGetInputbrightObjects( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--faceConnected" ) + Mthd::Aux::toString( bbGetInputfaceConnected( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumObjectSize" ) + Mthd::Aux::toString( bbGetInputminimumObjectSize( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--brightObjects" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbrightObjects( ) ) ) ,"@@@@@"," --brightObjects ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfBins" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfBins( ) ) ) ,"@@@@@"," --numberOfBins ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--faceConnected" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfaceConnected( ) ) ) ,"@@@@@"," --faceConnected ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minimumObjectSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputminimumObjectSize( ) ) ) ,"@@@@@"," --minimumObjectSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h index f05b8f9..f96db1b 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h +++ b/bbtk_Slicer_PKG/src/bbSlicerOtsuThresholdSegmentation.h @@ -46,7 +46,7 @@ BBTK_DECLARE_INPUT ( outputVolume , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( OtsuThresholdSegmentation , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "OtsuThresholdSegmentation" ) ; BBTK_AUTHOR ( "Bill Lorensen" ) ; - BBTK_DESCRIPTION ( "This filter creates a labeled image from a grayscale image. First, it calculates an optimal threshold that separates the image into foreground and background. This threshold separates those two classes so that their intra-class variance is minimal (see http://en.wikipedia.org/wiki/Otsu%27s_method). Then the filter runs a connected component algorithm to generate unique labels for each connected region of the foreground. Finally, the resulting image is relabeled to provide consecutive numbering." ) ; + BBTK_DESCRIPTION ( "This filter creates a labeled image from a grayscale image. First, it calculates an optimal threshold that separates the image into foreground and background. This threshold separates those two classes so that their intra-class variance is minimal see http://en.wikipedia.org/wiki/Otsu%27s_method. Then the filter runs a connected component algorithm to generate unique labels for each connected region of the foreground. Finally, the resulting image is relabeled to provide consecutive numbering." ) ; BBTK_CATEGORY ( "Legacy.Segmentation" ) ; // GENERATED DESCRPTION diff --git a/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx b/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx index c5d57d7..bc2f2aa 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerPolyDataToLabelMap.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libPolyDataToLabelmapLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--distance" ) + Mthd::Aux::toString( bbGetInputsampleDistance( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputsurface( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--distance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsampleDistance( ) ) ) ,"@@@@@"," --distance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsurface( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx new file mode 100644 index 0000000..1584f25 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.cxx @@ -0,0 +1,80 @@ +#include "bbSlicerResampleDTIVolume.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleDTIVolume ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleDTIVolume, bbtk::AtomicBlackBox ); + + void ResampleDTIVolume::Process ( ) { + + // GENERATED + +int _argc =26; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libResampleDTILib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-R" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@"," -R ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-f" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformationFile( ) ) ) ,"@@@@@"," -f ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-H" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeffield( ) ) ) ,"@@@@@"," -H ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hfieldtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtypeOfField( ) ) ) ,"@@@@@"," --hfieldtype ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationType( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--correction" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcorrection( ) ) ) ,"@@@@@"," --correction ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-T" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputppd( ) ) ) ,"@@@@@"," -T ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--transform_order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformsOrder( ) ) ) ,"@@@@@"," --transform_order ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--notbulk" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnotbulk( ) ) ) ,"@@@@@"," --notbulk ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--spaceChange" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputspace( ) ) ) ,"@@@@@"," --spaceChange ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-r" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputrotationPoint( ) ) ) ,"@@@@@"," -r ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcenteredTransform( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--image_center" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputimageCenter( ) ) ) ,"@@@@@"," --image_center ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinverseITKTransformation( ) ) ) ,"@@@@@"," -b ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageSpacing( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-z" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageSize( ) ) ) ,"@@@@@"," -z ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-O" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageOrigin( ) ) ) ,"@@@@@"," -O ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdirectionMatrix( ) ) ) ,"@@@@@"," -d ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-n" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThread( ) ) ) ,"@@@@@"," -n ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-p" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdefaultPixelValue( ) ) ) ,"@@@@@"," -p ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-W" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwindowFunction( ) ) ) ,"@@@@@"," -W ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-o" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineOrder( ) ) ) ,"@@@@@"," -o ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformMatrix( ) ) ) ,"@@@@@"," -m ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtransformType( ) ) ) ,"@@@@@"," -t ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleDTIVolume::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleDTIVolume::bbUserSetDefaultValues ( ) { + } + + void ResampleDTIVolume::bbUserInitializeProcessing ( ) { + } + + void ResampleDTIVolume::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h new file mode 100644 index 0000000..0c7f48f --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleDTIVolume.h @@ -0,0 +1,108 @@ +#ifndef __bbSlicerResampleDTIVolume_h_INCLUDED__ +#define __bbSlicerResampleDTIVolume_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleDTIVolume + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleDTIVolume , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( transformationFile , std::string ); +BBTK_DECLARE_INPUT ( deffield , std::string ); +BBTK_DECLARE_INPUT ( typeOfField , std::string ); +BBTK_DECLARE_INPUT ( interpolationType , std::string ); +BBTK_DECLARE_INPUT ( correction , std::string ); +BBTK_DECLARE_INPUT ( ppd , std::string ); +BBTK_DECLARE_INPUT ( transformsOrder , std::string ); +BBTK_DECLARE_INPUT ( notbulk , bool ); +BBTK_DECLARE_INPUT ( space , bool ); +BBTK_DECLARE_INPUT ( rotationPoint , std::vector ); +BBTK_DECLARE_INPUT ( centeredTransform , bool ); +BBTK_DECLARE_INPUT ( imageCenter , std::string ); +BBTK_DECLARE_INPUT ( inverseITKTransformation , bool ); +BBTK_DECLARE_INPUT ( outputImageSpacing , std::vector ); +BBTK_DECLARE_INPUT ( outputImageSize , std::vector ); +BBTK_DECLARE_INPUT ( outputImageOrigin , std::vector ); +BBTK_DECLARE_INPUT ( directionMatrix , std::vector ); +BBTK_DECLARE_INPUT ( numberOfThread , int ); +BBTK_DECLARE_INPUT ( defaultPixelValue , double ); +BBTK_DECLARE_INPUT ( windowFunction , std::string ); +BBTK_DECLARE_INPUT ( splineOrder , int ); +BBTK_DECLARE_INPUT ( transformMatrix , std::vector ); +BBTK_DECLARE_INPUT ( transformType , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleDTIVolume , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleDTIVolume" ) ; + BBTK_AUTHOR ( "Francois Budin" ) ; + BBTK_DESCRIPTION ( "Resampling an image is a very important task in image analysis. It is especially important in the frame of image registration. This module implements DT image resampling through the use of itk Transforms. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions." ) ; + BBTK_CATEGORY ( "Diffusion.Utilities" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleDTIVolume , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , transformationFile , "transformationFile" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , deffield , "deffield" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , typeOfField , "typeOfField" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , interpolationType , "interpolationType" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , correction , "correction" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , ppd , "ppd" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , transformsOrder , "transformsOrder" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , notbulk , "notbulk" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , space , "space" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , rotationPoint , "rotationPoint" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , centeredTransform , "centeredTransform" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , imageCenter , "imageCenter" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , inverseITKTransformation , "inverseITKTransformation" , bool, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageSpacing , "outputImageSpacing" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageSize , "outputImageSize" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , outputImageOrigin , "outputImageOrigin" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , directionMatrix , "directionMatrix" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , numberOfThread , "numberOfThread" , int, ""); +BBTK_INPUT(ResampleDTIVolume , defaultPixelValue , "defaultPixelValue" , double, ""); +BBTK_INPUT(ResampleDTIVolume , windowFunction , "windowFunction" , std::string, ""); +BBTK_INPUT(ResampleDTIVolume , splineOrder , "splineOrder" , int, ""); +BBTK_INPUT(ResampleDTIVolume , transformMatrix , "transformMatrix" , std::vector, ""); +BBTK_INPUT(ResampleDTIVolume , transformType , "transformType" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleDTIVolume ) ; +} + +#endif // __bbSlicerResampleDTIVolume_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx new file mode 100644 index 0000000..40b2238 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerResampleImageBRAINS.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleImageBRAINS ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleImageBRAINS, bbtk::AtomicBlackBox ); + + void ResampleImageBRAINS::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBRAINSResampleLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@"," --inputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--referenceVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputreferenceVolume( ) ) ) ,"@@@@@"," --referenceVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@"," --outputVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--pixelType" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputpixelType( ) ) ) ,"@@@@@"," --pixelType ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--deformationVolume" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdeformationVolume( ) ) ) ,"@@@@@"," --deformationVolume ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--warpTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputwarpTransform( ) ) ) ,"@@@@@"," --warpTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--interpolationMode" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationMode( ) ) ) ,"@@@@@"," --interpolationMode ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inverseTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinverseTransform( ) ) ) ,"@@@@@"," --inverseTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--defaultValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdefaultValue( ) ) ) ,"@@@@@"," --defaultValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--gridSpacing" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSpacing( ) ) ) ,"@@@@@"," --gridSpacing ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numberOfThreads" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfThreads( ) ) ) ,"@@@@@"," --numberOfThreads ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleImageBRAINS::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleImageBRAINS::bbUserSetDefaultValues ( ) { + } + + void ResampleImageBRAINS::bbUserInitializeProcessing ( ) { + } + + void ResampleImageBRAINS::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h new file mode 100644 index 0000000..536d0a8 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleImageBRAINS.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerResampleImageBRAINS_h_INCLUDED__ +#define __bbSlicerResampleImageBRAINS_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleImageBRAINS + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleImageBRAINS , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( referenceVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); +BBTK_DECLARE_INPUT ( pixelType , std::string ); +BBTK_DECLARE_INPUT ( deformationVolume , std::string ); +BBTK_DECLARE_INPUT ( warpTransform , std::string ); +BBTK_DECLARE_INPUT ( interpolationMode , std::string ); +BBTK_DECLARE_INPUT ( inverseTransform , bool ); +BBTK_DECLARE_INPUT ( defaultValue , float ); +BBTK_DECLARE_INPUT ( gridSpacing , std::vector ); +BBTK_DECLARE_INPUT ( numberOfThreads , int ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleImageBRAINS , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleImageBRAINS" ) ; + BBTK_AUTHOR ( "This tool was developed by Vincent Magnotta, Greg Harris, and Hans Johnson." ) ; + BBTK_DESCRIPTION ( "This program resamples an image image using a deformation field or a transform BSpline, Affine, Rigid, etc.." ) ; + BBTK_CATEGORY ( "Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleImageBRAINS , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , referenceVolume , "referenceVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , outputVolume , "outputVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , pixelType , "pixelType" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , deformationVolume , "deformationVolume" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , warpTransform , "warpTransform" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , interpolationMode , "interpolationMode" , std::string, ""); +BBTK_INPUT(ResampleImageBRAINS , inverseTransform , "inverseTransform" , bool, ""); +BBTK_INPUT(ResampleImageBRAINS , defaultValue , "defaultValue" , float, ""); +BBTK_INPUT(ResampleImageBRAINS , gridSpacing , "gridSpacing" , std::vector, ""); +BBTK_INPUT(ResampleImageBRAINS , numberOfThreads , "numberOfThreads" , int, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleImageBRAINS ) ; +} + +#endif // __bbSlicerResampleImageBRAINS_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx new file mode 100644 index 0000000..69a8256 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.cxx @@ -0,0 +1,58 @@ +#include "bbSlicerResampleScalarVolume.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, ResampleScalarVolume ) + BBTK_BLACK_BOX_IMPLEMENTATION ( ResampleScalarVolume, bbtk::AtomicBlackBox ); + + void ResampleScalarVolume::Process ( ) { + + // GENERATED + +int _argc =4; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libResampleVolumeLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputPixelSpacing( ) ) ) ,"@@@@@"," -s ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinterpolationType( ) ) ) ,"@@@@@"," -i ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void ResampleScalarVolume::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void ResampleScalarVolume::bbUserSetDefaultValues ( ) { + } + + void ResampleScalarVolume::bbUserInitializeProcessing ( ) { + } + + void ResampleScalarVolume::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h new file mode 100644 index 0000000..a7ba623 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerResampleScalarVolume.h @@ -0,0 +1,64 @@ +#ifndef __bbSlicerResampleScalarVolume_h_INCLUDED__ +#define __bbSlicerResampleScalarVolume_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT ResampleScalarVolume + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( outputPixelSpacing , std::vector ); +BBTK_DECLARE_INPUT ( interpolationType , std::string ); +BBTK_DECLARE_INPUT ( InputVolume , std::string ); +BBTK_DECLARE_INPUT ( OutputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ResampleScalarVolume , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "ResampleScalarVolume" ) ; + BBTK_AUTHOR ( "Bill Lorensen" ) ; + BBTK_DESCRIPTION ( "Resampling an image is an important task in image analysis. It is especially important in the frame of image registration. This module implements image resampling through the use of itk Transforms. This module uses an Identity Transform. The resampling is controlled by the Output Spacing. 'Resampling' is performed in space coordinates, not pixel/grid coordinates. It is quite important to ensure that image spacing is properly set on the images involved. The interpolator is required since the mapping from one space to the other will often require evaluation of the intensity of the image at non-grid positions. Several interpolators are available: linear, nearest neighbor, bspline and five flavors of sinc. The sinc interpolators, although more precise, are much slower than the linear and nearest neighbor interpolator. To resample label volumnes, nearest neighbor interpolation should be used exclusively." ) ; + BBTK_CATEGORY ( "Legacy.Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(ResampleScalarVolume , outputPixelSpacing , "outputPixelSpacing" , std::vector, ""); +BBTK_INPUT(ResampleScalarVolume , interpolationType , "interpolationType" , std::string, ""); +BBTK_INPUT(ResampleScalarVolume , InputVolume , "InputVolume" , std::string, ""); +BBTK_INPUT(ResampleScalarVolume , OutputVolume , "OutputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( ResampleScalarVolume ) ; +} + +#endif // __bbSlicerResampleScalarVolume_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx new file mode 100644 index 0000000..0635dd4 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerRicianLMMSEImageFilter.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RicianLMMSEImageFilter ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RicianLMMSEImageFilter, bbtk::AtomicBlackBox ); + + void RicianLMMSEImageFilter::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libdwiNoiseFilterLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiIterations( ) ) ) ,"@@@@@"," --iter ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnvf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsF( ) ) ) ,"@@@@@"," --mnvf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnve" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsE( ) ) ) ,"@@@@@"," --mnve ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMinSTD( ) ) ) ,"@@@@@"," --minnstd ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMaxSTD( ) ) ) ,"@@@@@"," --maxnstd ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hrf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdResFact( ) ) ) ,"@@@@@"," --hrf ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--uav" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbUseAbsoluteValue( ) ) ) ,"@@@@@"," --uav ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RicianLMMSEImageFilter::bbUserSetDefaultValues ( ) { + } + + void RicianLMMSEImageFilter::bbUserInitializeProcessing ( ) { + } + + void RicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h new file mode 100644 index 0000000..b734698 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRicianLMMSEImageFilter.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ +#define __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RicianLMMSEImageFilter + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( iIterations , int ); +BBTK_DECLARE_INPUT ( iRadiusEstimation , std::vector ); +BBTK_DECLARE_INPUT ( iRadiusFiltering , std::vector ); +BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsF , int ); +BBTK_DECLARE_INPUT ( iMinimumNumberOfUsedVoxelsE , int ); +BBTK_DECLARE_INPUT ( dMinSTD , int ); +BBTK_DECLARE_INPUT ( dMaxSTD , int ); +BBTK_DECLARE_INPUT ( dResFact , double ); +BBTK_DECLARE_INPUT ( bUseAbsoluteValue , bool ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RicianLMMSEImageFilter" ) ; + BBTK_AUTHOR ( "Antonio Tristan Vega, Santiago Aja Fernandez and Marc Niethammer. Partially founded by grant number TEC2007-67073/TCM from the Comision Interministerial de Ciencia y Tecnologia Spain." ) ; + BBTK_DESCRIPTION ( "This module reduces noise or unwanted detail on a set of diffusion weighted images. For this, it filters the image in the mean squared error sense using a Rician noise model. Images corresponding to each gradient direction, including baseline, are processed individually. The noise parameter is automatically estimated noise estimation improved but slower.Note that this is a general purpose filter for MRi images. The module jointLMMSE has been specifically designed for DWI volumes and shows a better performance, so its use is recommended instead.A complete description of the algorithm in this module can be found in:S. Aja-Fernandez, M. Niethammer, M. Kubicki, M. Shenton, and C.-F. Westin. Restoration of DWI data using a Rician LMMSE estimator. IEEE Transactions on Medical Imaging, 2710: pp. 1389-1403, Oct. 2008." ) ; + BBTK_CATEGORY ( "Diffusion.Denoising" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RicianLMMSEImageFilter , iIterations , "iIterations" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iRadiusEstimation , "iRadiusEstimation" , std::vector, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iRadiusFiltering , "iRadiusFiltering" , std::vector, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsF , "iMinimumNumberOfUsedVoxelsF" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , iMinimumNumberOfUsedVoxelsE , "iMinimumNumberOfUsedVoxelsE" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dMinSTD , "dMinSTD" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dMaxSTD , "dMaxSTD" , int, ""); +BBTK_INPUT(RicianLMMSEImageFilter , dResFact , "dResFact" , double, ""); +BBTK_INPUT(RicianLMMSEImageFilter , bUseAbsoluteValue , "bUseAbsoluteValue" , bool, ""); +BBTK_INPUT(RicianLMMSEImageFilter , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(RicianLMMSEImageFilter , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RicianLMMSEImageFilter ) ; +} + +#endif // __bbSlicerRicianLMMSEImageFilter_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx new file mode 100644 index 0000000..eec8b2d --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.cxx @@ -0,0 +1,65 @@ +#include "bbSlicerRobustMultiresolutionAffineRegistration.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RobustMultiresolutionAffineRegistration ) + BBTK_BLACK_BOX_IMPLEMENTATION ( RobustMultiresolutionAffineRegistration, bbtk::AtomicBlackBox ); + + void RobustMultiresolutionAffineRegistration::Process ( ) { + + // GENERATED + +int _argc =11; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRegisterImagesMultiResModule.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmovingImage( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledImage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputresampledImage( ) ) ) ,"@@@@@"," --resampledImage ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--saveTransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputTransform( ) ) ) ,"@@@@@"," --saveTransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageMask" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageMask( ) ) ) ,"@@@@@"," --fixedImageMask ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--fixedImageROI" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputfixedImageROI( ) ) ) ,"@@@@@"," --fixedImageROI ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumIterations( ) ) ) ,"@@@@@"," --numIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--numLineIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumLineIterations( ) ) ) ,"@@@@@"," --numLineIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--stepSize" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstepSize( ) ) ) ,"@@@@@"," --stepSize ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--stepTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputstepTolerance( ) ) ) ,"@@@@@"," --stepTolerance ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--metricTolerance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmetricTolerance( ) ) ) ,"@@@@@"," --metricTolerance ") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void RobustMultiresolutionAffineRegistration::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void RobustMultiresolutionAffineRegistration::bbUserSetDefaultValues ( ) { + } + + void RobustMultiresolutionAffineRegistration::bbUserInitializeProcessing ( ) { + } + + void RobustMultiresolutionAffineRegistration::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h new file mode 100644 index 0000000..e71228a --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerRobustMultiresolutionAffineRegistration.h @@ -0,0 +1,78 @@ +#ifndef __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ +#define __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT RobustMultiresolutionAffineRegistration + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( RobustMultiresolutionAffineRegistration , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( fixedImage , std::string ); +BBTK_DECLARE_INPUT ( movingImage , std::string ); +BBTK_DECLARE_INPUT ( resampledImage , std::string ); +BBTK_DECLARE_INPUT ( outputTransform , std::string ); +BBTK_DECLARE_INPUT ( fixedImageMask , std::string ); +BBTK_DECLARE_INPUT ( fixedImageROI , std::vector ); +BBTK_DECLARE_INPUT ( numIterations , int ); +BBTK_DECLARE_INPUT ( numLineIterations , int ); +BBTK_DECLARE_INPUT ( stepSize , float ); +BBTK_DECLARE_INPUT ( stepTolerance , float ); +BBTK_DECLARE_INPUT ( metricTolerance , float ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( RobustMultiresolutionAffineRegistration , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "RobustMultiresolutionAffineRegistration" ) ; + BBTK_AUTHOR ( "Casey B Goodlett" ) ; + BBTK_DESCRIPTION ( "Provides affine registration using multiple resolution levels and decomposed affine transforms." ) ; + BBTK_CATEGORY ( "Legacy.Registration" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImage , "fixedImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , movingImage , "movingImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , resampledImage , "resampledImage" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , outputTransform , "outputTransform" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImageMask , "fixedImageMask" , std::string, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , fixedImageROI , "fixedImageROI" , std::vector, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , numIterations , "numIterations" , int, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , numLineIterations , "numLineIterations" , int, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , stepSize , "stepSize" , float, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , stepTolerance , "stepTolerance" , float, ""); +BBTK_INPUT(RobustMultiresolutionAffineRegistration , metricTolerance , "metricTolerance" , float, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( RobustMultiresolutionAffineRegistration ) ; +} + +#endif // __bbSlicerRobustMultiresolutionAffineRegistration_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx b/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx index 9c4da33..8d0ea03 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerRobustStatisticsSegmentation.cxx @@ -11,14 +11,14 @@ namespace bbSlicer { int _argc =8; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libRobustStatSegmenterLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::toString( bbGetInputexpectedVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--intensityHomogeneity" ) + Mthd::Aux::toString( bbGetInputintensityHomogeneity( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::toString( bbGetInputcurvatureWeight( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelValue" ) + Mthd::Aux::toString( bbGetInputlabelValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRunningTime" ) + Mthd::Aux::toString( bbGetInputmaxRunningTime( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoriginalImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputlabelImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputsegmentedImageFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputexpectedVolume( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--intensityHomogeneity" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputintensityHomogeneity( ) ) ) ,"@@@@@"," --intensityHomogeneity ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-c" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputcurvatureWeight( ) ) ) ,"@@@@@"," -c ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelValue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelValue( ) ) ) ,"@@@@@"," --labelValue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxRunningTime" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaxRunningTime( ) ) ) ,"@@@@@"," --maxRunningTime ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoriginalImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsegmentedImageFileName( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx b/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx index 11b5ec4..ff6badd 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerSimpleIOTest.cxx @@ -11,8 +11,8 @@ namespace bbSlicer { int _argc =2; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libDiffusionTensorTestLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx new file mode 100644 index 0000000..0c272a2 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.cxx @@ -0,0 +1,63 @@ +#include "bbSlicerSimpleregiongrowing.h" +#include "bbSlicerPackage.h" + +namespace bbSlicer { + BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, Simpleregiongrowing ) + BBTK_BLACK_BOX_IMPLEMENTATION ( Simpleregiongrowing, bbtk::AtomicBlackBox ); + + void Simpleregiongrowing::Process ( ) { + + // GENERATED + +int _argc =9; +std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libConfidenceConnectedLib.so"; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--smoothingIterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsmoothingIterations( ) ) ) ,"@@@@@"," --smoothingIterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--timestep" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputtimestep( ) ) ) ,"@@@@@"," --timestep ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiterations( ) ) ) ,"@@@@@"," --iterations ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--multiplier" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmultiplier( ) ) ) ,"@@@@@"," --multiplier ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--neighborhood" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputneighborhood( ) ) ) ,"@@@@@"," --neighborhood ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--labelvalue" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputlabelvalue( ) ) ) ,"@@@@@"," --labelvalue ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--seed" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputseed( ) ) ) ,"@@@@@"," --seed ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) }; + + // EO GENERATED + this->execute( lib, _argc, _argv ); + + } + + void Simpleregiongrowing::execute ( std::string lib, int _argc, char * _argv[] ) { + void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL ); + if ( ! handle ) { + std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n'; + return; + } + typedef int (*method_t )( int argc, char * argv[] ); + // RESET ERROR + dlerror( ); + // PROTOTYPE + method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" ); + const char *dlsym_error = dlerror( ); + if ( dlsym_error ) { + std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n'; + dlclose( handle ); + return; + } + // METHOD CALL + myMethod( _argc, _argv ); + // CLOSING LIB + dlclose( handle ); + } + + void Simpleregiongrowing::bbUserSetDefaultValues ( ) { + } + + void Simpleregiongrowing::bbUserInitializeProcessing ( ) { + } + + void Simpleregiongrowing::bbUserFinalizeProcessing ( ) { + } +} +// EO namespace bbSlicer + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h new file mode 100644 index 0000000..ba02e16 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerSimpleregiongrowing.h @@ -0,0 +1,74 @@ +#ifndef __bbSlicerSimpleregiongrowing_h_INCLUDED__ +#define __bbSlicerSimpleregiongrowing_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT Simpleregiongrowing + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( Simpleregiongrowing , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( smoothingIterations , int ); +BBTK_DECLARE_INPUT ( timestep , double ); +BBTK_DECLARE_INPUT ( iterations , int ); +BBTK_DECLARE_INPUT ( multiplier , double ); +BBTK_DECLARE_INPUT ( neighborhood , int ); +BBTK_DECLARE_INPUT ( labelvalue , int ); +BBTK_DECLARE_INPUT ( seed , std::vector > ); +BBTK_DECLARE_INPUT ( inputVolume , std::string ); +BBTK_DECLARE_INPUT ( outputVolume , std::string ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( Simpleregiongrowing , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "Simpleregiongrowing" ) ; + BBTK_AUTHOR ( "Jim Miller" ) ; + BBTK_DESCRIPTION ( "A simple region growing segmentation algorithm based on intensity statistics. To create a list of fiducials Seeds for this algorithm, click on the tool bar icon of an arrow pointing to a starburst fiducial to enter the 'place a new object mode' and then use the fiducials module. This module uses the Slicer Command Line Interface CLI and the ITK filters CurvatureFlowImageFilter and ConfidenceConnectedImageFilter." ) ; + BBTK_CATEGORY ( "Segmentation" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(Simpleregiongrowing , smoothingIterations , "smoothingIterations" , int, ""); +BBTK_INPUT(Simpleregiongrowing , timestep , "timestep" , double, ""); +BBTK_INPUT(Simpleregiongrowing , iterations , "iterations" , int, ""); +BBTK_INPUT(Simpleregiongrowing , multiplier , "multiplier" , double, ""); +BBTK_INPUT(Simpleregiongrowing , neighborhood , "neighborhood" , int, ""); +BBTK_INPUT(Simpleregiongrowing , labelvalue , "labelvalue" , int, ""); +BBTK_INPUT(Simpleregiongrowing , seed , "seed" , std::vector >, ""); +BBTK_INPUT(Simpleregiongrowing , inputVolume , "inputVolume" , std::string, ""); +BBTK_INPUT(Simpleregiongrowing , outputVolume , "outputVolume" , std::string, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( Simpleregiongrowing ) ; +} + +#endif // __bbSlicerSimpleregiongrowing_h_INCLUDED__ + + diff --git a/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx b/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx index 61efd45..8373771 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerSubtractImages.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libSubtractLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::toString( bbGetInputorder( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume1( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume2( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--order" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputorder( ) ) ) ,"@@@@@"," --order ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx b/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx index b9a81fe..2878e28 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerTestGridTransformregistration.cxx @@ -11,10 +11,10 @@ namespace bbSlicer { int _argc =4; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libTestGridTransformRegistrationLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::toString( bbGetInputgridSize( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx index 611ce07..2525df8 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx +++ b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.cxx @@ -11,13 +11,13 @@ namespace bbSlicer { int _argc =7; std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libThresholdLib.so"; -char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::toString( bbGetInputThresholdValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::toString( bbGetInputLower( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-u" ) + Mthd::Aux::toString( bbGetInputUpper( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::toString( bbGetInputOutsideValue( ) ) ), -Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdtype" ) + Mthd::Aux::toString( bbGetInputThresholdType( ) ) ) }; +char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputVolume( ) ) ) ,"@@@@@","") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-t" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputThresholdValue( ) ) ) ,"@@@@@"," -t ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-l" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputLower( ) ) ) ,"@@@@@"," -l ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-u" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputUpper( ) ) ) ,"@@@@@"," -u ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-v" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutsideValue( ) ) ) ,"@@@@@"," -v ") ), +Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--thresholdtype" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputThresholdType( ) ) ) ,"@@@@@"," --thresholdtype ") ) }; // EO GENERATED this->execute( lib, _argc, _argv ); diff --git a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h index 622007f..8170aa5 100644 --- a/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h +++ b/bbtk_Slicer_PKG/src/bbSlicerThresholdImage.h @@ -46,8 +46,8 @@ BBTK_DECLARE_INPUT ( ThresholdType , std::string ); BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ThresholdImage , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "ThresholdImage" ) ; - BBTK_AUTHOR ( "Nicole Aucoin, BWH (Ron Kikinis, BWH)" ) ; - BBTK_DESCRIPTION ( "

Threshold an image.

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

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

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

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

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

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