diff --git a/contrib/arc/CMakeLists.txt b/contrib/arc/CMakeLists.txt index 3fa75e85a999c6b3572ccfd0a65ca46a997df5c9..6f1ae0a17c4054ed34034b0dc88f0e66a5467145 100644 --- a/contrib/arc/CMakeLists.txt +++ b/contrib/arc/CMakeLists.txt @@ -1,7 +1,5 @@ # pour boris: -add_executable(boris EXCLUDE_FROM_ALL contrib/arc/boris.cpp ${GMSH_SRC}) -target_link_libraries(boris ${LINK_LIBRARIES}) - +include(/home/boris/MyGmshProjects/CMakeLists.txt) # tests pour eric et christophe: list(APPEND EXTERNAL_INCLUDES contrib/arc) add_executable(elastic EXCLUDE_FROM_ALL contrib/arc/mainElasticity.cpp ${GMSH_SRC}) diff --git a/contrib/arc/boris.cpp b/contrib/arc/boris.cpp index 11872f124624520c007236485d0bbd390d954166..5c7f62b6013dcde3cdd402296ccf7ad0915a0577 100644 --- a/contrib/arc/boris.cpp +++ b/contrib/arc/boris.cpp @@ -1,21 +1,66 @@ -#include <stdio.h> -#include "Gmsh.h" -#include "GModel.h" -#include "MElement.h" -#include "gmshLevelset.h" -int main(int argc, char **argv) +#include "itkCurvatureAnisotropicDiffusionImageFilter.h" + +#include "itkGradientMagnitudeRecursiveGaussianImageFilter.h" +#include "itkSigmoidImageFilter.h" + +#include "itkImage.h" +#include "itkFastMarchingImageFilter.h" + +#include "itkBinaryThresholdImageFilter.h" + +#include "itkImageFileReader.h" +#include "itkImageFileWriter.h" + +#include "itkRescaleIntensityImageFilter.h" + + +int main( int argc, char *argv[] ) { - GmshInitialize(argc, argv); - GModel *m = new GModel(); - - m->readMSH("toto.msh"); - double a(1.), b(0.), c(0.), d(-0.05); - int n(1); - gLevelset *ls = new gLevelsetPlane(a, b, c, d, n); - GModel *m2 = m->buildCutGModel(ls); - m2->writeMSH("toto2.msh", 2.1, false, true); - - delete m; - GmshFinalize(); -} + if( argc < 8 ) + { + std::cerr << "Missing Parameters " << std::endl; + std::cerr << "Usage: " << argv[0]; + std::cerr << " inputImage xi xf yi yf zi zf"<< std::endl; + return 1; + } + + + typedef float PixelTypeFloat; + const unsigned int Dimension = 3; + typedef itk::Image< PixelTypeFloat, Dimension > ImageTypeFloat; + typedef itk::ImageFileReader< ImageTypeFloat > ImageReaderTypeFloat; + ImageReaderTypeFloat::Pointer reader = ImageReaderTypeFloat::New(); + + reader->SetFileName(argv[1]); + + ImageTypeFloat::Pointer image = reader->GetOutput(); + image->Update(); + + PixelTypeFloat pixelValue; + ImageTypeFloat::IndexType pixelIndex; + + ImageTypeFloat::RegionType region; + region = image->GetLargestPossibleRegion (); + + std::cout<<"GetImageDimensionX() :" << region.GetSize(0) << "\n" ; + std::cout<<"GetImageDimensionY() :" << region.GetSize(1) << "\n" ; + std::cout<<"GetImageDimensionZ() :" << region.GetSize(2) << "\n" ; + + std::cout<<"\nStart loops...\n" ; + for (int k = atoi(argv[6]);k<atoi(argv[7]);k++){ + for (int i = atoi(argv[2]);i<atoi(argv[3]);i++){ + for (int j = atoi(argv[4]);j<atoi(argv[5]);j++){ + pixelIndex[0] = i; // x position + pixelIndex[1] = j; // y position + pixelIndex[2] = k; // y position + pixelValue = image->GetPixel( pixelIndex ); + std::cout<< " " << pixelValue << " " ; + } + std::cout<< "\n" ; + } + std::cout<< "\n\n\n\n" ; + } + + return 0; +} \ No newline at end of file