]> Creatis software - FrontAlgorithms.git/commitdiff
more experiments...
authorLeonardo Florez-Valencia <florez-l@javeriana.edu.co>
Thu, 7 Apr 2016 00:27:57 +0000 (19:27 -0500)
committerLeonardo Florez-Valencia <florez-l@javeriana.edu.co>
Thu, 7 Apr 2016 00:27:57 +0000 (19:27 -0500)
22 files changed:
CMakeLists.txt
lib/CMakeLists.txt
lib/fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h
lib/fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.hxx
lib/fpa/Base/ExtractPathFromMinimumSpanningTree.h
lib/fpa/Base/ExtractPathFromMinimumSpanningTree.hxx
lib/fpa/Image/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h
lib/fpa/Image/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.hxx
lib/fpa_Instances/CMakeLists.txt [new file with mode: 0644]
lib/fpa_Instances/Filters.i [new file with mode: 0644]
lib/fpa_Instances/Instances.i [new file with mode: 0644]
lib/fpa_Instances/Observers.i [new file with mode: 0644]
plugins/fpa/BaseImageFilter.cxx
plugins/fpa/BaseImageFilter.h
plugins/fpa/BaseImageFilter.hxx
plugins/fpa/CMakeLists.txt
plugins/fpa/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.cxx
plugins/fpa/ExtractPathFromMinimumSpanningTree.cxx
plugins/fpa/ImageDijkstra.cxx
plugins/fpa/ImageRegionGrow.cxx
plugins/fpa/MinimumSpanningTree.cxx
plugins/fpa/MinimumSpanningTree.h

index b246500138d55b5dea06e4feb4a4141795b0440d..785164bb94404d7c14899a98f4c77b4eb5038934 100644 (file)
@@ -88,6 +88,8 @@ INCLUDE_DIRECTORIES(
   ${PROJECT_BINARY_DIR}
   ${PROJECT_SOURCE_DIR}/lib
   ${PROJECT_BINARY_DIR}/lib
+  ${PROJECT_SOURCE_DIR}/lib/fpa_Instances
+  ${PROJECT_BINARY_DIR}/lib/fpa_Instances
   ${PROJECT_SOURCE_DIR}/plugins
   ${PROJECT_BINARY_DIR}/plugins
   )
index 7e4b7838c542804063573ef8425b81ab64d7140a..3efe1bc315e3d09e6b09b1083452f86f029ceee2 100644 (file)
@@ -106,4 +106,8 @@ INSTALL(
   DESTINATION include/fpa
   )
 
+SUBDIRS(
+  fpa_Instances
+  )
+
 ## eof - $RCSfile$
index d6e97af8577dc0063cab5d9ff9946a23bbf6121c..eaabf5a3f271918d6b891b2ac974640eba3f2035 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <vector>
 #include <itkProcessObject.h>
-#include <itkSimpleDataObjectDecorator.h>
+#include <cpExtensions/DataStructures/ImageIndexesContainer.h>
 
 namespace fpa
 {
@@ -24,7 +24,9 @@ namespace fpa
       typedef _TMST  TMinimumSpanningTree;
       typedef typename _TMST::TVertex TVertex;
 
-      typedef itk::SimpleDataObjectDecorator< std::vector< TVertex > > TVertices;
+      typedef
+      cpExtensions::DataStructures::ImageIndexesContainer< TVertex::Dimension >
+      TVertices;
 
     public:
       itkTypeMacro(
index 844d60cb82ad37ace941aa936483c6d43aa42f7a..af63bb0614a2b2ccdd6bf744475bb89f069fd1d9 100644 (file)
@@ -172,7 +172,6 @@ GenerateData( )
             // 2.4.2. A collision has been reached
             last_collision = *pIt;
             collisions->Get( ).push_back( *pIt );
-            std::cout << *pIt << std::endl;
             inCollision = true;
           }
           else
@@ -199,6 +198,10 @@ GenerateData( )
     } // elihw
 
   } // rof
+
+  endpoints->SetReferenceImage( mst );
+  bifurcations->SetReferenceImage( mst );
+  collisions->SetReferenceImage( mst );
 }
 
 #endif // __FPA__BASE__EXTRACTENDPOINTSANDBIFURCATIONSFROMMINIMUMSPANNINGTREE__HXX__
index e29a87df9cac7e8b2d314fe0835ada07046fcd4f..4566077353363f9ae1e8219fb25c57cbc0713507 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <set>
 #include <itkProcessObject.h>
-#include <itkPolyLineParametricPath.h>
+#include <cpExtensions/DataStructures/PolyLineParametricPath.h>
 
 namespace fpa
 {
@@ -21,9 +21,11 @@ namespace fpa
       typedef itk::SmartPointer< Self >          Pointer;
       typedef itk::SmartPointer< const Self >    ConstPointer;
 
-      typedef T                                  TMinimumSpanningTree;
-      typedef typename T::TVertex                             TVertex;
-      typedef itk::PolyLineParametricPath< TVertex::Dimension > TPath;
+      typedef T                   TMinimumSpanningTree;
+      typedef typename T::TVertex TVertex;
+      typedef
+      cpExtensions::DataStructures::PolyLineParametricPath< TVertex::Dimension >
+      TPath;
 
     public:
       itkNewMacro( Self );
index c44f41a3dbe7d5e3fa350b1969c60fd175b0c238..400642c67ac9232170678c93fe383734f1176add 100644 (file)
@@ -62,6 +62,7 @@ GenerateData( )
   path->Initialize( );
   for( auto i = lst.begin( ); i != lst.end( ); ++i )
     path->AddVertex( *i );
+  path->SetReferenceImage( tree );
 }
 
 #endif // __FPA__BASE__EXTRACTPATHFROMMINIMUMSPANNINGTREE__HXX__
index 4ad643a6771d48212a79cd1e96eabd8f1176200a..9fd6c88b6ffdf4762cfa5e5d192f5318f697ded5 100644 (file)
@@ -3,10 +3,6 @@
 
 #include <fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h>
 
-#include <itkImageFileWriter.h>
-#include <itkImageFileWriter.hxx>
-#include <itkImageAlgorithm.hxx>
-
 namespace fpa
 {
   namespace Image
@@ -68,17 +64,6 @@ namespace fpa
 
       virtual void _Tmp( ) override
         {
-          /* TODO
-             static unsigned int i = 0;
-             std::stringstream s;
-             s << "marks_" << i << ".mhd";
-             i++;
-             typename itk::ImageFileWriter< TMarkImage >::Pointer w =
-             itk::ImageFileWriter< TMarkImage >::New( );
-             w->SetInput( this->m_MarkImage );
-             w->SetFileName( s.str( ) );
-             w->Update( );
-          */
         }
 
     private:
index d2bc8287b1b1c0beab591afc7d6a24ddc1d75651..16d03e83ce3aa2e2bb5551f98b5feb0fc186cbc7 100644 (file)
@@ -116,6 +116,8 @@ _MarkSphere(
   const unsigned long& l
   )
 {
+  double rr = r * double( 1.5 );
+
   // Get marking region
   auto rreg = this->m_MarkImage->GetRequestedRegion( );
   auto spac = this->m_MarkImage->GetSpacing( );
@@ -126,7 +128,7 @@ _MarkSphere(
   bool all = false;
   for( unsigned int d = 0; d < _TImage::ImageDimension; ++d )
   {
-    unsigned long s = std::ceil( r / double( spac[ d ] ) );
+    unsigned long s = std::ceil( rr / double( spac[ d ] ) );
     if( s < 3 )
     {
       s = 3;
@@ -158,9 +160,9 @@ _MarkSphere(
   {
     typename _TImage::PointType pnt;
     this->m_MarkImage->TransformIndexToPhysicalPoint( spIt.GetIndex( ), pnt );
-    // TODO: if( double( pnt.EuclideanDistanceTo( c ) ) <= r || all )
-    // TODO: if( spIt.Get( ) == 0 )
-      spIt.Set( l );
+    if( double( pnt.EuclideanDistanceTo( c ) ) <= rr || all )
+      if( spIt.Get( ) == 0 )
+        spIt.Set( l );
 
   } // rof
 }
diff --git a/lib/fpa_Instances/CMakeLists.txt b/lib/fpa_Instances/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d9fe125
--- /dev/null
@@ -0,0 +1,77 @@
+FILE(
+  GLOB libs_DEFS RELATIVE
+  "${CMAKE_CURRENT_SOURCE_DIR}"
+  "${CMAKE_CURRENT_SOURCE_DIR}/*.i"
+  )
+
+SET(aux_ALL_INSTANCES)
+FOREACH(i ${libs_DEFS})
+  GET_FILENAME_COMPONENT(l_DEF ${i} NAME_WE)
+  SET(i_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}.i")
+  SET(h_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.h")
+  SET(s_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_DEF}.cxx")
+  SET(o_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${l_DEF}_extra.cxx")
+  SET(l_NAME "fpa_${l_DEF}")
+  SET(aux_ALL_INSTANCES ${aux_ALL_INSTANCES} ${l_NAME})
+  ADD_CUSTOM_COMMAND(
+    OUTPUT ${h_FILE} ${s_FILE}
+    DEPENDS ${cpPlugins_CreateInstances} ${i_FILE}
+    COMMAND ${cpPlugins_CreateInstances} ${i_FILE} ${l_NAME} ${h_FILE} ${s_FILE}
+    )
+  IF(EXISTS ${o_FILE})
+    ADD_LIBRARY(${l_NAME} SHARED ${s_FILE} ${o_FILE})
+  ELSE(EXISTS ${o_FILE})
+    ADD_LIBRARY(${l_NAME} SHARED ${s_FILE})
+  ENDIF(EXISTS ${o_FILE})
+  SET_TARGET_PROPERTIES(
+    ${l_NAME} PROPERTIES
+    VERSION "${prj_VER}"
+    SOVERSION "${prj_sVER}"
+    )
+  GENERATE_EXPORT_HEADER(
+    ${l_NAME}
+    BASE_NAME ${l_NAME}
+    EXPORT_MACRO_NAME ${l_NAME}_EXPORT
+    EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${l_NAME}_Export.h
+    STATIC_DEFINE ${l_NAME}_BUILT_AS_STATIC
+    )
+ENDFOREACH(i)
+
+SET(
+  fpa_ALL_INSTANCES
+  ${aux_ALL_INSTANCES}
+  CACHE STRING "All instances libraries."
+  )
+
+## Target links
+TARGET_LINK_LIBRARIES(fpa_Instances ${cpPlugins_LIBRARY} ${cpPlugins_ALL_INSTANCES_LIBRARIES})
+TARGET_LINK_LIBRARIES(fpa_Filters fpa_Instances)
+TARGET_LINK_LIBRARIES(fpa_Observers fpa_Filters)
+
+# TARGET_LINK_LIBRARIES(fpa_Transforms ${ITK_LIBRARIES} fpa_Base)
+# TARGET_LINK_LIBRARIES(fpa_Paths fpa_Base)
+# TARGET_LINK_LIBRARIES(fpa_Mesh fpa_Base)
+# TARGET_LINK_LIBRARIES(fpa_Image fpa_Base)
+# TARGET_LINK_LIBRARIES(fpa_ImageIterators ${ITK_LIBRARIES} fpa_Image)
+# TARGET_LINK_LIBRARIES(fpa_ImageFiltersBase fpa_Image)
+# TARGET_LINK_LIBRARIES(fpa_InPlaceImageFiltersBase fpa_ImageFiltersBase)
+# TARGET_LINK_LIBRARIES(fpa_ImageITK2VTK fpa_ImageFiltersBase ${VTK_LIBRARIES})
+# TARGET_LINK_LIBRARIES(fpa_ThresholdFilters fpa_InPlaceImageFiltersBase fpa_ImageIterators)
+# TARGET_LINK_LIBRARIES(fpa_DistanceMapFilters fpa_ThresholdFilters)
+# TARGET_LINK_LIBRARIES(fpa_ResamplingFilters fpa_ImageFiltersBase fpa_ImageIterators fpa_Transforms)
+# TARGET_LINK_LIBRARIES(fpa_GaussianImageFilters fpa_ImageFiltersBase fpa_ImageIterators)
+# TARGET_LINK_LIBRARIES(fpa_ImageIO fpa_ImageFiltersBase fpa_ImageIterators)
+
+# INSTALL(
+#   TARGETS ${l_NAME}
+#   RUNTIME DESTINATION bin
+#   LIBRARY DESTINATION lib
+#   ARCHIVE DESTINATION lib/static
+#   )
+# INSTALL(
+#   FILES
+#   ${lib_HEADERS}
+#   DESTINATION include/${lib_DIR}
+#   )
+
+## eof - $RCSfile$
diff --git a/lib/fpa_Instances/Filters.i b/lib/fpa_Instances/Filters.i
new file mode 100644 (file)
index 0000000..28b3ac7
--- /dev/null
@@ -0,0 +1,14 @@
+f fpa_Instances/Instances.h
+
+t fpa/Image/RegionGrow.h
+t fpa/Image/Dijkstra.h
+t fpa/Image/Algorithm.h
+
+d #dims=2;3
+d #int=char;short;int;long
+d #uint=unsigned #int
+d #float=float;double
+d #pixels=#int;#uint;#float
+
+c fpa::Image::RegionGrow< itk::Image< #pixels, #dims >, itk::Image< #uint, #dims > >
+c fpa::Image::Dijkstra< itk::Image< #pixels, #dims >, itk::Image< #float, #dims > >
diff --git a/lib/fpa_Instances/Instances.i b/lib/fpa_Instances/Instances.i
new file mode 100644 (file)
index 0000000..372a8e7
--- /dev/null
@@ -0,0 +1,23 @@
+f cpPlugins_Instances/ImageFiltersBase.h
+
+t fpa/Image/MinimumSpanningTree.h
+t fpa/Base/MinimumSpanningTree.h
+t fpa/Base/RegionGrow.h
+t fpa/Base/Dijkstra.h
+t fpa/Base/Algorithm.h
+t itkImportImageContainer.h
+t itkImage.h
+
+d #dims=2;3
+d #int=char;short;int;long
+d #uint=unsigned #int
+d #float=float;double
+d #pixels=#int;#uint;#float
+
+c itk::ImportImageContainer< unsigned long, fpa::Image::MinimumSpanningTreeData< #dims > >
+c itk::Image< fpa::Image::MinimumSpanningTreeData< #dims >, #dims >
+c fpa::Base::MinimumSpanningTree< itk::Image< fpa::Image::MinimumSpanningTreeData< #dims >, #dims >, itk::Index< #dims > >
+c fpa::Image::MinimumSpanningTree< #dims >
+c fpa::Base::Algorithm< itk::Index< #dims >, #pixels, #pixels, itk::Image< #pixels, #dims >, itk::Functor::IndexLexicographicCompare< #dims >, itk::ImageToImageFilter< itk::Image< #pixels, #dims >, itk::Image< #pixels, #dims > > >
+c fpa::Base::Dijkstra< itk::Index< #dims >, #pixels, #float, itk::Image< #pixels, #dims >, itk::Functor::IndexLexicographicCompare< #dims >, fpa::Image::MinimumSpanningTree< #dims >, itk::ImageToImageFilter< itk::Image< #pixels, #dims >, itk::Image< #float, #dims> > >
+c fpa::Base::RegionGrow< itk::Index< #dims >, #pixels, #uint, itk::Image< #pixels, #dims >, itk::Functor::IndexLexicographicCompare< #dims >, itk::ImageToImageFilter< itk::Image< #pixels, #dims >, itk::Image< #uint, #dims > > >
diff --git a/lib/fpa_Instances/Observers.i b/lib/fpa_Instances/Observers.i
new file mode 100644 (file)
index 0000000..a7aa67b
--- /dev/null
@@ -0,0 +1,15 @@
+f fpa_Instances/Filters.h
+
+i vtkRenderWindow.h
+
+t fpa/VTK/Image2DObserver.h
+t fpa/VTK/Image3DObserver.h
+
+d #dims=2;3
+d #int=char;short;int;long
+d #uint=unsigned #int
+d #float=float;double
+d #pixels=#int;#uint;#float
+
+c @{fpa::VTK::Image2DObserver;fpa::VTK::Image3DObserver}< fpa::Image::RegionGrow< itk::Image< #pixels, #dims >, itk::Image< #uint, #dims > >, vtkRenderWindow >
+c @{fpa::VTK::Image2DObserver;fpa::VTK::Image3DObserver}< fpa::Image::Dijkstra< itk::Image< #pixels, #dims >, itk::Image< #float, #dims > >, vtkRenderWindow >
index cdd9f67c2e17403a5234163655d60d73f2c26ca6..f10d067701feb94466e0fb1717652d8bddf98ebc 100644 (file)
@@ -1,5 +1,6 @@
 #include "BaseImageFilter.h"
-#include <itkSimpleDataObjectDecorator.hxx>
+#include <cpPlugins/Image.h>
+//#include <itkSimpleDataObjectDecorator.hxx>
 
 // -------------------------------------------------------------------------
 bool fpaPlugins::BaseImageFilter::
index 2b7e6a3a0c4d978229051db384ccde275a36ac0c..3069f49e47ae3a81f661794835d9e8811334449e 100644 (file)
@@ -56,7 +56,7 @@ namespace fpaPlugins
   protected:
     TMPRWidget*                m_MPRViewer;
     vtkRenderWindowInteractor* m_SingleInteractor;
-    std::set< unsigned long > m_Observers;
+    std::set< unsigned long >  m_Observers;
   };
 
 } // ecapseman
index 5ca267170ef2930c03793c592a9283bf2c909a1d..9db580a9bea296ab8484dc1026046656549a7a07 100644 (file)
@@ -1,14 +1,17 @@
 #ifndef __FPAPLUGINS__BASEIMAGEFILTER__HXX__
 #define __FPAPLUGINS__BASEIMAGEFILTER__HXX__
 
-#include <cpPlugins/Image.h>
-#include <fpa/VTK/Image2DObserver.h>
-#include <fpa/VTK/Image3DObserver.h>
-#include <vtkRenderWindowInteractor.h>
-
-#include <fpa/VTK/Image2DObserver.hxx>
-#include <fpa/VTK/Image3DObserver.hxx>
+#include <fpa_Instances/Observers.h>
 #include <itkSimpleDataObjectDecorator.h>
+/* TODO
+   #include <cpPlugins/Image.h>
+   #include <fpa/VTK/Image2DObserver.h>
+   #include <fpa/VTK/Image3DObserver.h>
+   #include <vtkRenderWindowInteractor.h>
+
+   #include <fpa/VTK/Image2DObserver.hxx>
+   #include <fpa/VTK/Image3DObserver.hxx>
+*/
 
 // -------------------------------------------------------------------------
 template< class _TFilter >
index bbbd673276b274aa72b0a2c58508d1e6f38615d7..18f6377cd19ab2a9c47377bfa6c24fe2a2ef7a36 100644 (file)
@@ -13,15 +13,15 @@ SET(
 
 SET(
   filters_HEADERS_H
-  ${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeReader.h
-  ${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeWriter.h
+  #${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeReader.h
+  #${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeWriter.h
   ${CMAKE_CURRENT_SOURCE_DIR}/ImageRegionGrow.h
   ${CMAKE_CURRENT_SOURCE_DIR}/ImageDijkstra.h
   ${CMAKE_CURRENT_SOURCE_DIR}/ExtractPathFromMinimumSpanningTree.h
   ${CMAKE_CURRENT_SOURCE_DIR}/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h
-  ${CMAKE_CURRENT_SOURCE_DIR}/RegionGrowThresholdFunction.h
+  #${CMAKE_CURRENT_SOURCE_DIR}/RegionGrowThresholdFunction.h
   ${CMAKE_CURRENT_SOURCE_DIR}/InvertCostFunction.h
-  ${CMAKE_CURRENT_SOURCE_DIR}/GradientBaseImageFunctionSource.h
+  #${CMAKE_CURRENT_SOURCE_DIR}/GradientBaseImageFunctionSource.h
   )
 
 SET(
@@ -37,24 +37,21 @@ SET(
 
 SET(
   filters_SOURCES_CXX
-  ${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeReader.cxx
-  ${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeWriter.cxx
+  #${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeReader.cxx
+  #${CMAKE_CURRENT_SOURCE_DIR}/MinimumSpanningTreeWriter.cxx
   ${CMAKE_CURRENT_SOURCE_DIR}/ImageRegionGrow.cxx
   ${CMAKE_CURRENT_SOURCE_DIR}/ImageDijkstra.cxx
   ${CMAKE_CURRENT_SOURCE_DIR}/ExtractPathFromMinimumSpanningTree.cxx
   ${CMAKE_CURRENT_SOURCE_DIR}/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.cxx
-  ${CMAKE_CURRENT_SOURCE_DIR}/RegionGrowThresholdFunction.cxx
+  #${CMAKE_CURRENT_SOURCE_DIR}/RegionGrowThresholdFunction.cxx
   ${CMAKE_CURRENT_SOURCE_DIR}/InvertCostFunction.cxx
-  ${CMAKE_CURRENT_SOURCE_DIR}/GradientBaseImageFunctionSource.cxx
+  #${CMAKE_CURRENT_SOURCE_DIR}/GradientBaseImageFunctionSource.cxx
   )
 
 SET(
   target_LIBRARIES
+  ${fpa_ALL_INSTANCES}
   ${cpExtensions_LIBRARY}
-  ${cpPlugins_LIBRARY}
-  cpPlugins_ImageIterators
-  cpPlugins_Paths
-  ${ITK_LIBRARIES}
   )
 
 ## =====================
@@ -63,8 +60,8 @@ SET(
 
 ADD_CUSTOM_COMMAND(
   OUTPUT ${lib_NAME}_Host.cxx
-  DEPENDS ${cpPlugins_HostCreator_APP} ${filters_HEADERS_H}
-  COMMAND ${cpPlugins_HostCreator_APP} ${lib_NAME}_Host.cxx ${filters_HEADERS_H}
+  DEPENDS ${cpPlugins_HostCreator} ${filters_HEADERS_H}
+  COMMAND ${cpPlugins_HostCreator} ${lib_NAME}_Host.cxx ${filters_HEADERS_H}
   )
 ADD_LIBRARY(
   ${lib_NAME}
index fca4620c39b5183760be87a3feb6de5a7602c5b8..0b1d597b9fd96f486324ca59a028e326e7874f43 100644 (file)
@@ -1,7 +1,8 @@
 #include "ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h"
-#include "MinimumSpanningTree.h"
 
 #include <cpPlugins/Image.h>
+#include <cpPlugins/ImageIndexesContainer.h>
+#include <fpa_Instances/Instances.h>
 #include <itkSimpleDataObjectDecorator.hxx>
 #include <fpa/Image/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.h>
 #include <fpa/Base/ExtractEndPointsAndBifurcationsFromMinimumSpanningTree.hxx>
@@ -15,9 +16,9 @@ ExtractEndPointsAndBifurcationsFromMinimumSpanningTree( )
   this->_AddInput( "CostsImage" );
   this->_AddInput( "DistanceMap" );
   this->_AddInput( "MST" );
-  this->_AddOutput< cpPlugins::DataObject >( "EndPoints" );
-  this->_AddOutput< cpPlugins::DataObject >( "Bifurcations" );
-  this->_AddOutput< cpPlugins::DataObject >( "Collisions" );
+  this->_AddOutput< cpPlugins::ImageIndexesContainer >( "EndPoints" );
+  this->_AddOutput< cpPlugins::ImageIndexesContainer >( "Bifurcations" );
+  this->_AddOutput< cpPlugins::ImageIndexesContainer >( "Collisions" );
 
   this->m_Parameters.ConfigureAsBool( "SquaredDistanceMap" );
   this->m_Parameters.SetBool( "SquaredDistanceMap", false );
index bde69fc1802c4b98923e44c1a6cd2228cf6a6a5c..d914d6aa39a1777c0511dee1b57ecfddaa26f2e3 100644 (file)
@@ -1,11 +1,11 @@
 #include "ExtractPathFromMinimumSpanningTree.h"
-#include "MinimumSpanningTree.h"
+#include <fpa_Instances/Instances.h>
 
 #include <itkDataObject.h>
 #include <itkIndex.h>
 #include <itkSimpleDataObjectDecorator.hxx>
 #include <cpPlugins_Instances/Paths.h>
-#include <cpPlugins/DataObject.h>
+#include <cpPlugins/Path.h>
 #include <fpa/Base/ExtractPathFromMinimumSpanningTree.h>
 #include <fpa/Base/ExtractPathFromMinimumSpanningTree.hxx>
 
@@ -16,7 +16,7 @@ ExtractPathFromMinimumSpanningTree( )
 {
   this->_AddInput( "MST" );
   this->_AddInput( "Seeds" );
-  this->_AddOutput< cpPlugins::DataObject >( "Output" );
+  this->_AddOutput< cpPlugins::Path >( "Output" );
 
   this->m_Parameters.ConfigureAsUint( "Vertex0" );
   this->m_Parameters.ConfigureAsUint( "Vertex1" );
index cd34a9c7c30687f1e1b778cafaeee7c658213e80..b5b3a628082937c1db2fbf47a576747ab80e3bd2 100644 (file)
@@ -2,13 +2,15 @@
 #include "MinimumSpanningTree.h"
 
 #include <cpPlugins/Image.h>
-#include <fpa/Image/Dijkstra.h>
-#include <fpa/Base/Dijkstra.hxx>
-#include <fpa/Image/Dijkstra.hxx>
+#include <fpa_Instances/Filters.h>
+#include <fpa/Image/Functors/RegionGrowAllBelongsFunction.h>
+
 #include <fpa/Base/Algorithm.hxx>
+#include <fpa/Base/Dijkstra.hxx>
 #include <fpa/Image/Algorithm.hxx>
-#include <fpa/Base/Functors/InvertCostFunction.h>
-#include <itkSimpleDataObjectDecorator.hxx>
+#include <fpa/Image/Dijkstra.hxx>
+#include <fpa/VTK/Image2DObserver.hxx>
+#include <fpa/VTK/Image3DObserver.hxx>
 
 // -------------------------------------------------------------------------
 fpaPlugins::ImageDijkstra::
index a988c632bc8f894caf4ce480d929829ab4a3e742..27d5eca405c52c232d6102d760ec0defc12ee754 100644 (file)
@@ -1,12 +1,15 @@
 #include "ImageRegionGrow.h"
 
 #include <cpPlugins/Image.h>
-#include <fpa/Image/RegionGrow.h>
-#include <fpa/Base/RegionGrow.hxx>
-#include <fpa/Image/RegionGrow.hxx>
+#include <fpa_Instances/Filters.h>
+#include <fpa/Image/Functors/RegionGrowAllBelongsFunction.h>
+
 #include <fpa/Base/Algorithm.hxx>
+#include <fpa/Base/RegionGrow.hxx>
 #include <fpa/Image/Algorithm.hxx>
-#include <fpa/Image/Functors/RegionGrowAllBelongsFunction.h>
+#include <fpa/Image/RegionGrow.hxx>
+#include <fpa/VTK/Image2DObserver.hxx>
+#include <fpa/VTK/Image3DObserver.hxx>
 
 // -------------------------------------------------------------------------
 fpaPlugins::ImageRegionGrow::
index 4ad07f3d81450a1aba4929c05946fe9c952ce818..53bcdaf64c6b8118879176205b0a67fb9ed6b9ec 100644 (file)
@@ -1,4 +1,5 @@
 #include <plugins/fpa/MinimumSpanningTree.h>
+#include <fpa_Instances/Instances.h>
 
 // -------------------------------------------------------------------------
 void fpaPlugins::MinimumSpanningTree::
@@ -53,24 +54,4 @@ _SetITK( itk::LightObject* o )
   } // fi
 }
 
-// -------------------------------------------------------------------------
-// Explicit instances
-// -------------------------------------------------------------------------
-
-#include <fpa/Base/MinimumSpanningTree.hxx>
-#include <fpa/Image/MinimumSpanningTree.hxx>
-#include <itkImage.hxx>
-#include <itkImportImageContainer.hxx>
-#include <itkImageConstIteratorWithIndex.hxx>
-#include <itkImageRegionConstIteratorWithIndex.hxx>
-
-#define fpa_Explicit_MST( D )                                           \
-  template class fpaPlugins_EXPORT fpa::Base::MinimumSpanningTree< itk::Image< fpa::Image::MinimumSpanningTreeData< D >, D >, itk::Index< D > >; \
-  template class fpaPlugins_EXPORT fpa::Image::MinimumSpanningTree< D >; \
-  template class fpaPlugins_EXPORT itk::ImageConstIteratorWithIndex< fpa::Image::MinimumSpanningTree< D > >; \
-  template class fpaPlugins_EXPORT itk::ImageRegionConstIteratorWithIndex< fpa::Image::MinimumSpanningTree< D > >
-
-fpa_Explicit_MST( 2 );
-fpa_Explicit_MST( 3 );
-
 // eof - $RCSfile$
index 26e02624290b9ad202ac64e5114c17f08b2b8779..2904600c0d53270f315681595be9b5258a7aad48 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <fpa/fpaPlugins_Export.h>
 #include <cpPlugins/DataObject.h>
-#include <fpa/Image/MinimumSpanningTree.h>
 
 // -------------------------------------------------------------------------
 namespace fpaPlugins