]> Creatis software - FrontAlgorithms.git/blobdiff - appli/examples/example_Image_Dijkstra_AbsoluteDifferenceCost.cxx
...
[FrontAlgorithms.git] / appli / examples / example_Image_Dijkstra_AbsoluteDifferenceCost.cxx
diff --git a/appli/examples/example_Image_Dijkstra_AbsoluteDifferenceCost.cxx b/appli/examples/example_Image_Dijkstra_AbsoluteDifferenceCost.cxx
deleted file mode 100644 (file)
index 47affc1..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <cstdlib>
-#include <iostream>
-#include <fstream>
-#include <limits>
-#include <string>
-#include <vector>
-
-#include <itkImage.h>
-#include <itkImageToVTKImageFilter.h>
-
-#include <itkImageFileReader.h>
-#include <itkImageFileWriter.h>
-
-#include <vtkCamera.h>
-#include <vtkImageActor.h>
-#include <vtkInteractorStyleImage.h>
-#include <vtkPointHandleRepresentation3D.h>
-#include <vtkProperty.h>
-#include <vtkRenderer.h>
-#include <vtkRenderWindow.h>
-#include <vtkRenderWindowInteractor.h>
-#include <vtkSeedRepresentation.h>
-#include <vtkSeedWidget.h>
-#include <vtkSmartPointer.h>
-
-#include <fpa/Image/Dijkstra.h>
-#include <fpa/Image/Functors/ImageAbsoluteDifferenceCostFunction.h>
-#include <fpa/VTK/ImageMPR.h>
-#include <fpa/VTK/Image3DObserver.h>
-
-// -------------------------------------------------------------------------
-const unsigned int Dim = 3;
-typedef float TInputPixel;
-typedef float TOutputPixel;
-
-typedef itk::Image< TInputPixel, Dim >            TInputImage;
-typedef itk::Image< TOutputPixel, Dim >           TOutputImage;
-typedef itk::ImageToVTKImageFilter< TInputImage > TVTKInputImage;
-
-// -------------------------------------------------------------------------
-int main( int argc, char* argv[] )
-{
-  if( argc < 8 )
-  {
-    std::cerr
-      << "Usage: " << argv[ 0 ]
-      << " input_image input_seeds output_image"
-      << " neighborhood_order stop_at_one_front"
-      << " init_seed end_seed"
-      << std::endl;
-    return( 1 );
-
-  } // fi
-  std::string input_image_fn = argv[ 1 ];
-  std::string input_seeds_fn = argv[ 2 ];
-  std::string output_image_fn = argv[ 3 ];
-  unsigned int neighborhood_order = std::atoi( argv[ 4 ] );
-  bool stop_at_one_front = ( std::atoi( argv[ 5 ] ) != 0 );
-  unsigned int init_seed = std::atoi( argv[ 6 ] );
-  unsigned int end_seed = std::atoi( argv[ 7 ] );
-
-  // Read image
-  itk::ImageFileReader< TInputImage >::Pointer input_image_reader =
-    itk::ImageFileReader< TInputImage >::New( );
-  input_image_reader->SetFileName( input_image_fn );
-  try
-  {
-    input_image_reader->Update( );
-  }
-  catch( itk::ExceptionObject& err )
-  {
-    std::cerr
-      << "Error while reading image from " << input_image_fn << ": "
-      << err << std::endl;
-    return( 1 );
-
-  } // yrt
-  TInputImage::ConstPointer input_image = input_image_reader->GetOutput( );
-  TVTKInputImage::Pointer vtk_input_image = TVTKInputImage::New( );
-  vtk_input_image->SetInput( input_image );
-  vtk_input_image->Update( );
-
-  // Show input image and let some interaction
-  fpa::VTK::ImageMPR view;
-  view.SetBackground( 0.3, 0.2, 0.8 );
-  view.SetSize( 600, 600 );
-  view.SetImage( vtk_input_image->GetOutput( ) );
-
-  // Allow some interaction
-  view.Render( );
-  view.Start( );
-
-  // Prepare region grow filter and cost function
-  typedef fpa::Image::Dijkstra< TInputImage, TOutputImage > TFilter;
-  typedef fpa::Image::Functors::
-    ImageAbsoluteDifferenceCostFunction< TFilter::TInputImage, TFilter::TResult >
-    TCost;
-
-  TCost::Pointer cost = TCost::New( );
-
-  TFilter::Pointer filter = TFilter::New( );
-  filter->SetInput( input_image );
-  filter->SetCostFunction( cost );
-  filter->SetConversionFunction( NULL );
-  filter->SetNeighborhoodOrder( neighborhood_order );
-  filter->SetStopAtOneFront( stop_at_one_front );
-
-  // Get user-given seeds
-  std::ifstream input_seeds_str( input_seeds_fn.c_str( ) );
-  if( !input_seeds_str )
-  {
-    std::cerr << "Error opening \"" << input_seeds_fn << "\"" << std::endl;
-    return( 1 );
-
-  } // fi
-
-  unsigned int nSeeds;
-  input_seeds_str >> nSeeds;
-  std::vector< TInputImage::IndexType > input_seeds;
-  for( unsigned int s = 0; s < nSeeds; s++ )
-  {
-    TInputImage::IndexType idx;
-    input_seeds_str >> idx[ 0 ] >> idx[ 1 ] >> idx[ 2 ];
-    input_seeds.push_back( idx );
-
-  } // rof
-  input_seeds_str.close( );
-
-  filter->AddSeed( input_seeds[ init_seed ], 0 );
-  filter->AddSeed( input_seeds[ end_seed ], 0 );
-
-  // Prepare graphical debugger
-  typedef fpa::VTK::Image3DObserver< TFilter, vtkRenderWindow > TDebugger;
-  TDebugger::Pointer debugger = TDebugger::New( );
-  debugger->SetRenderWindow( view.GetWindow( ) );
-  debugger->SetRenderPercentage( 0.0001 );
-  filter->AddObserver( itk::AnyEvent( ), debugger );
-  filter->ThrowEventsOn( );
-
-  // Go!
-  filter->Update( );
-
-  // Save final total cost map
-  itk::ImageFileWriter< TOutputImage >::Pointer output_image_writer =
-    itk::ImageFileWriter< TOutputImage >::New( );
-  output_image_writer->SetFileName( output_image_fn );
-  output_image_writer->SetInput( filter->GetOutput( ) );
-  try
-  {
-    output_image_writer->Update( );
-  }
-  catch( itk::ExceptionObject& err )
-  {
-    std::cerr
-      << "Error while writing image to " << output_image_fn << ": "
-      << err << std::endl;
-    return( 1 );
-
-  } // yrt
-
-  return( 0 );
-}
-
-// eof - $RCSfile$