]> Creatis software - FrontAlgorithms.git/commitdiff
...
authorLeonardo Flórez-Valencia <florez-l@javeriana.edu.co>
Wed, 2 Nov 2016 21:27:16 +0000 (16:27 -0500)
committerLeonardo Flórez-Valencia <florez-l@javeriana.edu.co>
Wed, 2 Nov 2016 21:27:16 +0000 (16:27 -0500)
26 files changed:
CMakeLists.txt
lib/CMakeLists.txt
lib/Instances/CMakeLists.txt
lib/Instances/fpa_Filters.i
lib/fpa/Image/SkeletonFilter.h
lib/fpa/Image/SkeletonFilter.hxx
plugins/CMakeLists.txt
plugins/Plugins/BaseImageFilter.cxx
plugins/Plugins/BaseImageFilter.h
plugins/Plugins/EndPointsFilter.cxx [deleted file]
plugins/Plugins/EndPointsFilter.h [deleted file]
plugins/Plugins/ExtractPathFromMinimumSpanningTree.cxx
plugins/Plugins/ExtractPathFromMinimumSpanningTree.h
plugins/Plugins/GaussianModelCost.cxx
plugins/Plugins/GaussianModelCost.h
plugins/Plugins/ImageDijkstra.cxx
plugins/Plugins/ImageDijkstra.h
plugins/Plugins/InvertCost.cxx
plugins/Plugins/InvertCost.h
plugins/Plugins/SimpleImageDijkstraCost.cxx
plugins/Plugins/SimpleImageDijkstraCost.h
plugins/Plugins/SimpleImageNeighborhood.cxx
plugins/Plugins/SimpleImageNeighborhood.h
plugins/Plugins/SkeletonFilter.cxx
plugins/Plugins/SkeletonFilter.h
plugins/Plugins/fpaPlugins.i [new file with mode: 0644]

index fec6ee28db555f66b26e333dc251052ae917ed65..4175ddb21b911a663c1249ee3db16ee6eff5b697 100644 (file)
@@ -56,6 +56,6 @@ INCLUDE(cmake/Functions.cmake)
 ## ===========================
 
 ## SUBDIRS(appli cmake lib plugins)
-SUBDIRS(lib)
+SUBDIRS(lib plugins)
 
 ## eof - $RCSfile$
index c3d3e5d1f65b6cd80f73c3c8114997d48f4d8fce..b3bea387d974f6c46e602c12957f9aa8db646b80 100644 (file)
@@ -8,8 +8,20 @@ CompileLibFromDir(fpa SHARED ${CMAKE_CURRENT_SOURCE_DIR}/fpa)
 ## == Build instances for cpPlugins ==
 ## ===================================
 
+SET(fpa_DynLibs "${CMAKE_INSTALL_PREFIX}/bin|fpa")
+LIST(APPEND fpa_DynLibs "${CMAKE_INSTALL_PREFIX}/lib|fpa")
+LIST(APPEND fpa_DynLibs "${LIBRARY_OUTPUT_PATH}|fpa")
 IF(USE_cpPlugins)
   SUBDIRS(Instances)
+  FOREACH(_lib ${fpa_Instances})
+    LIST(APPEND fpa_DynLibs "${CMAKE_INSTALL_PREFIX}/bin|${_lib}")
+    LIST(APPEND fpa_DynLibs "${CMAKE_INSTALL_PREFIX}/lib|${_lib}")
+    LIST(APPEND fpa_DynLibs "${LIBRARY_OUTPUT_PATH}|${_lib}")
+  ENDFOREACH(_lib)
 ENDIF(USE_cpPlugins)
+FILE(WRITE ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "")
+FOREACH(_lib ${fpa_DynLibs})
+  FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n")
+ENDFOREACH(_lib)
 
 ## eof - $RCSfile$
index efcdf870574c509b284b1c33493ed903ced51e32..ebc9cdca25110f2852b535501784342661896c8a 100644 (file)
@@ -14,8 +14,19 @@ FOREACH(_def ${_all_defs})
     fpa_${_def}.i
     ${cpPlugins_CONFIG_NUMBER_OF_FILES}
     )
-  LIST(APPEND _all_libs cpInstances_${_def})
+  LIST(APPEND _all_libs fpaInstances_${_def})
 ENDFOREACH(_def)
+
+TARGET_LINK_LIBRARIES(
+  fpaInstances_DataObjects
+  ${VTK_LIBRARIES}
+  ${cpPlugins_Instances}
+  )
+TARGET_LINK_LIBRARIES(
+  fpaInstances_Filters
+  fpaInstances_DataObjects
+  )
+
 SET(
   fpa_Instances ${_all_libs}
   CACHE INTERNAL "All valid instances." FORCE
index a72f3adb40918a0e4b3b824c4476e47084a992b6..e019334c9998429617f2b4de3c0bf5aea66234ef 100644 (file)
@@ -1,12 +1,12 @@
+header #define ITK_MANUAL_INSTANTIATION
 
-d i_pixels=#pixels#
-d o_pixels=#pixels#
+define i_pixels=#scalar_pixels#
+define o_pixels=#scalar_pixels#
 
-i cpPlugins_Images.h
-t fpa/Base/Algorithm
-t fpa/Image/Algorithm
+tinclude fpa/Base/Algorithm:h|hxx
+tinclude fpa/Image/Algorithm:h|hxx
 
-c fpa::Base::Algorithm< itk::ImageToImageFilter< itk::Image< #i_pixels#, #process_dims# >, itk::Image< #o_pixels#, #process_dims# > >, itk::Index< #process_dims# >, #o_pixels# >
-c fpa::Image::Algorithm< itk::Image< #i_pixels#, #process_dims# >, itk::Image< #o_pixels#, #process_dims# > >
+instances fpa::Base::Algorithm< itk::ImageToImageFilter< itk::Image< #i_pixels#, #process_dims# >, itk::Image< #o_pixels#, #process_dims# > >, itk::Index< #process_dims# >, #o_pixels# >
+instances fpa::Image::Algorithm< itk::Image< #i_pixels#, #process_dims# >, itk::Image< #o_pixels#, #process_dims# > >
 
 ** eof - $RCSfile$
index 595170928391420ae7824312f9ce8054d117265b..85618d79ef723af41774d6af8ed3d45b76e924b5 100644 (file)
@@ -2,6 +2,7 @@
 #define __fpa__Image__SkeletonFilter__h__
 
 #include <itkProcessObject.h>
+#include <itkSimpleDataObjectDecorator.h>
 #include <fpa/Image/MinimumSpanningTree.h>
 #include <cpExtensions/DataStructures/Skeleton.h>
 #include <set>
index 9488ed8e1d89cf6174af40639c3db6177d2c0dba..fa78819576064ad47164d0668b62e8a146809f4a 100644 (file)
@@ -173,8 +173,6 @@ _EndPoints(
     if( m != 0 || ( n.first / init_v ) < double( 1e-1 ) )
       continue;
 
-    std::cout << n.second << " " << n.first << " " << dmap->GetPixel( n.second ) << std::endl;
-
     // Mark it and update end-points
     m |= 0x01;
     marks->SetPixel( n.second, m );
index 6900f775e6b34bee1a5af53348a6fa7f507159fa..bbc5d327684a34f5fec1845d57fea08a58444452 100644 (file)
@@ -2,14 +2,26 @@
 ## == Build plugin library ==
 ## ==========================
 
-IF(USE_cpPlugins)
-  Wrap_cpPlugins(
-    _plugin
-    ${CMAKE_CURRENT_SOURCE_DIR}/Plugins
-    ${prj_VERSION} ${prj_SHORT_VERSION}
-    fpa
-    )
-  TARGET_LINK_LIBRARIES(${_plugin} ${VTK_LIBRARIES} ${cpPlugins_LIB} ${cpPlugins_ImageIterators_LIB} ${fpa_Instances})
-ENDIF(USE_cpPlugins)
+INCLUDE_DIRECTORIES(
+  ${PROJECT_SOURCE_DIR}/lib
+  ${PROJECT_BINARY_DIR}/lib
+  )
+CreatePlugin(fpaPlugins Plugins ${cpPlugins_CONFIG_NUMBER_OF_FILES})
+TARGET_LINK_LIBRARIES(
+  fpaPlugins
+  cpPlugins cpExtensions
+  ${cpPlugins_Instances}
+  ${fpa_Instances}
+  )
+
+#IF(USE_cpPlugins)
+#  Wrap_cpPlugins(
+#    _plugin
+#    ${CMAKE_CURRENT_SOURCE_DIR}/Plugins
+#    ${prj_VERSION} ${prj_SHORT_VERSION}
+#    fpa
+#    )
+#  TARGET_LINK_LIBRARIES(${_plugin} ${VTK_LIBRARIES} ${cpPlugins_LIB} ${cpPlugins_ImageIterators_LIB} ${fpa_Instances})
+#ENDIF(USE_cpPlugins)
 
 ## eof - $RCSfile$
\ No newline at end of file
index cb3f433872744d5e7f2355d32759fcaf8e84f0c3..746bd3143621d6c5f937d90dc1109aa2eeeab694 100644 (file)
@@ -1,4 +1,4 @@
-#include <plugins/Plugins/BaseImageFilter.h>
+#include <Plugins/BaseImageFilter.h>
 #include <cpPlugins/DataObjects/Image.h>
 
 // -------------------------------------------------------------------------
@@ -14,10 +14,8 @@ BaseImageFilter( )
   this->_ConfigureInput< _TData >( "Neighborhood", false, false );
   this->_ConfigureOutput< _TImage >( "Output" );
 
-  this->m_Parameters.ConfigureAsBool( "VisualDebug" );
-  this->m_Parameters.ConfigureAsBool( "StopAtOneFront" );
-  this->m_Parameters.SetBool( "VisualDebug", false );
-  this->m_Parameters.SetBool( "StopAtOneFront", false );
+  this->m_Parameters.ConfigureAsBool( "VisualDebug", false );
+  this->m_Parameters.ConfigureAsBool( "StopAtOneFront", false );
 }
 
 // -------------------------------------------------------------------------
index 30cb7d1b33c91c76a8de11dacc1d0147e1e49ab6..8afadd65fd177a04cb045394857bba559336c355 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__BaseImageFilter__h__
 #define __fpa__Plugins__BaseImageFilter__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
diff --git a/plugins/Plugins/EndPointsFilter.cxx b/plugins/Plugins/EndPointsFilter.cxx
deleted file mode 100644 (file)
index 6d34f8c..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-#include <plugins/Plugins/EndPointsFilter.h>
-#include <cpPlugins/DataObjects/Image.h>
-#include <cpPlugins/DataObjects/Mesh.h>
-#include <fpa/Image/EndPointsFilter.h>
-#include <fpa/Image/EndPointsFilter.hxx>
-
-// -------------------------------------------------------------------------
-fpaPlugins::EndPointsFilter::
-EndPointsFilter( )
-  : Superclass( )
-{
-  typedef cpPlugins::DataObjects::Image _TImage;
-  typedef cpPlugins::DataObjects::Mesh  _TMesh;
-
-  this->_ConfigureInput< _TImage >( "DistanceMap", true, false );
-  this->_ConfigureInput< _TImage >( "CostMap", true, false );
-  this->_ConfigureInput< _TImage >( "MST", true, false );
-  this->_ConfigureOutput< _TMesh >( "EndPoints" );
-  this->_ConfigureOutput< _TMesh >( "Bifurcations" );
-}
-
-// -------------------------------------------------------------------------
-fpaPlugins::EndPointsFilter::
-~EndPointsFilter( )
-{
-}
-
-// -------------------------------------------------------------------------
-void fpaPlugins::EndPointsFilter::
-_GenerateData( )
-{
-  auto o = this->GetInputData( "DistanceMap" );
-  cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
-}
-
-// -------------------------------------------------------------------------
-template< class _TDistanceMap >
-void fpaPlugins::EndPointsFilter::
-_GD0( _TDistanceMap* dmap )
-{
-  auto cmap = this->GetInputData< _TDistanceMap >( "CostMap" );
-  if( cmap != NULL )
-    this->_GD1( dmap, cmap );
-  else
-    this->_Error( "Temporary error: invalid cost map." );
-}
-
-// -------------------------------------------------------------------------
-template< class _TDistanceMap, class _TCostMap >
-void fpaPlugins::EndPointsFilter::
-_GD1( _TDistanceMap* dmap, _TCostMap* cmap )
-{
-  typedef fpa::Image::EndPointsFilter< _TDistanceMap, _TCostMap > _TFilter;
-  typedef typename _TFilter::TMST _TMST;
-
-  auto mst = this->GetInputData< _TMST >( "MST" );
-  if( mst == NULL )
-    this->_Error( "Invalid MST." );
-
-
-  auto filter = this->_CreateITK< _TFilter >( );
-  filter->SetDistanceMap( dmap );
-  filter->SetCostMap( cmap );
-  filter->SetMST( mst );
-  filter->Compute( );
-
-  auto ep = filter->GetEndPoints( );
-  auto bi = filter->GetBifurcations( );
-
-  auto ep_pd = this->GetOutputData< vtkPolyData >( "EndPoints" );
-  if( ep_pd == NULL )
-  {
-    auto points = vtkSmartPointer< vtkPoints >::New( );
-    auto verts = vtkSmartPointer< vtkCellArray >::New( );
-    auto lines = vtkSmartPointer< vtkCellArray >::New( );
-    auto polys = vtkSmartPointer< vtkCellArray >::New( );
-    auto strips = vtkSmartPointer< vtkCellArray >::New( );
-    auto pd = vtkSmartPointer< vtkPolyData >::New( );
-    pd->SetPoints( points );
-    pd->SetVerts( verts );
-    pd->SetLines( lines );
-    pd->SetPolys( polys );
-    pd->SetStrips( strips );
-
-    this->GetOutput( "EndPoints" )->SetVTK( pd );
-    ep_pd = this->GetOutputData< vtkPolyData >( "EndPoints" );
-
-  } // fi
-
-  for( auto iIt = ep.begin( ); iIt != ep.end( ); ++iIt )
-  {
-    typename _TCostMap::PointType p;
-    cmap->TransformIndexToPhysicalPoint( *iIt, p );
-
-    if( _TCostMap::ImageDimension == 1 )
-      ep_pd->GetPoints( )->InsertNextPoint( p[ 0 ], 0, 0 );
-    else if( _TCostMap::ImageDimension == 2 )
-      ep_pd->GetPoints( )->InsertNextPoint( p[ 0 ], p[ 1 ], 0 );
-    else if( _TCostMap::ImageDimension > 2 )
-      ep_pd->GetPoints( )->InsertNextPoint( p[ 0 ], p[ 1 ], p[ 2 ] );
-
-    ep_pd->GetVerts( )->InsertNextCell( 1 );
-    ep_pd->GetVerts( )->InsertCellPoint( ep_pd->GetNumberOfPoints( ) - 1 );
-
-  } // rof
-}
-
-// eof - $RCSfile$
diff --git a/plugins/Plugins/EndPointsFilter.h b/plugins/Plugins/EndPointsFilter.h
deleted file mode 100644 (file)
index 209c9a7..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __fpa__Plugins__EndPointsFilter__h__
-#define __fpa__Plugins__EndPointsFilter__h__
-
-#include <plugins/fpaPlugins_Export.h>
-#include <cpPlugins/BaseObjects/ProcessObject.h>
-
-namespace fpaPlugins
-{
-  /**
-   */
-  class fpaPlugins_EXPORT EndPointsFilter
-    : public cpPlugins::BaseObjects::ProcessObject
-  {
-    cpPluginsObject(
-      EndPointsFilter,
-      cpPlugins::BaseObjects::ProcessObject,
-      fpa
-      );
-
-  protected:
-    template< class _TDistanceMap >
-    inline void _GD0( _TDistanceMap* dmap );
-
-    template< class _TDistanceMap, class _TCostMap >
-    inline void _GD1( _TDistanceMap* dmap, _TCostMap* cmap );
-  };
-
-} // ecapseman
-
-#endif // __fpa__Plugins__EndPointsFilter__h__
-
-// eof - $RCSfile$
index c80ffde353e426ab9eb89ae8727015093347bba6..28534483409075e2be92aa048aeda917a388c689 100644 (file)
@@ -1,8 +1,8 @@
-#include <plugins/Plugins/ExtractPathFromMinimumSpanningTree.h>
+#include <Plugins/ExtractPathFromMinimumSpanningTree.h>
 #include <cpPlugins/DataObjects/Image.h>
 #include <cpPlugins/DataObjects/PolyLineParametricPath.h>
-#include <fpa_DataObjects.h>
 #include <vtkPolyData.h>
+#include <fpa/Image/MinimumSpanningTree.h>
 
 // -------------------------------------------------------------------------
 fpaPlugins::ExtractPathFromMinimumSpanningTree::
@@ -15,7 +15,7 @@ ExtractPathFromMinimumSpanningTree( )
 
   this->_ConfigureInput< _TMST >( "MST", true, false );
   this->_ConfigureInput< _TData >( "Seeds", true, false );
-  this->_ConfigureOutput< _TPath >( "Paths" );
+  this->_ConfigureOutput< _TPath >( "Output" );
 }
 
 // -------------------------------------------------------------------------
@@ -74,7 +74,7 @@ _GD0( _TMST* mst )
 
   typename _TPath::Pointer path;
   mst->GetPath( path, seeds[ 0 ], seeds[ 1 ] );
-  this->GetOutput( "Paths" )->SetITK( path );
+  this->GetOutput( "Output" )->SetITK( path );
 }
 
 // eof - $RCSfile$
index c3f8496250f4ebcffcdc012cb7bc8fa4fea5921b..6a46fa9fe73cdd2ba0616e92c9b2970c1ef9a35a 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__ExtractPathFromMinimumSpanningTree__h__
 #define __fpa__Plugins__ExtractPathFromMinimumSpanningTree__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
index c6b962bdf0af5aaecccccb497b965e595eec11c1..e817fb6244600ad08098a89a4705fce18d56724c 100644 (file)
@@ -1,8 +1,7 @@
-#include <plugins/Plugins/GaussianModelCost.h>
+#include <Plugins/GaussianModelCost.h>
 #include <cpPlugins/DataObjects/Image.h>
 
 #include <fpa/Base/Functors/GaussianModel.h>
-#include <fpa/Base/Functors/GaussianModel.hxx>
 
 // -------------------------------------------------------------------------
 fpaPlugins::GaussianModelCost::
index 845f57f11456a7d0dc739738c596b36e8e61f74f..b4d276394e10a1a788e0a7c1819b40d02366c09c 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__GaussianModelCost__h__
 #define __fpa__Plugins__GaussianModelCost__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
index 7017c77af94f38605b68ae00327f7cf1e79b849f..d5ce7df0dac3b5b480422fc6f4050deae5018b03 100644 (file)
@@ -1,10 +1,9 @@
-#include <plugins/Plugins/ImageDijkstra.h>
+#include <Plugins/ImageDijkstra.h>
 #include <cpPlugins/DataObjects/Image.h>
-#include <vtkPolyData.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 
 #include <fpa/Image/Dijkstra.h>
-#include <fpa/Base/Dijkstra.hxx>
-#include <fpa/Image/Dijkstra.hxx>
+#include <vtkPolyData.h>
 
 // -------------------------------------------------------------------------
 fpaPlugins::ImageDijkstra::
@@ -36,8 +35,8 @@ void fpaPlugins::ImageDijkstra::
 _GenerateData( )
 {
   auto o = this->GetInputData( "Input" );
-  cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
+  cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
@@ -87,6 +86,7 @@ _GD1( _TInputImage* image )
     typename _TInputImage::IndexType idx;
     unsigned int dim =
       ( _TInputImage::ImageDimension < 3 )? _TInputImage::ImageDimension: 3;
+
     for( int i = 0; i < seeds->GetNumberOfPoints( ); ++i )
     {
       double buf[ 3 ];
index 74198c37d7f56212e8d04a3c09d469bc64bf3e49..a76df1721eaee143488b16910243af126d71d323 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__ImageDijkstra__h__
 #define __fpa__Plugins__ImageDijkstra__h__
 
-#include <plugins/Plugins/BaseImageFilter.h>
+#include <Plugins/BaseImageFilter.h>
 
 namespace fpaPlugins
 {
index fe77e0faa80d890e4ea3ee59031163eb07b38f00..488e88cc420de270cac4dbef28cb76ac61eb4ecb 100644 (file)
@@ -1,8 +1,7 @@
-#include <plugins/Plugins/InvertCost.h>
+#include <Plugins/InvertCost.h>
 #include <cpPlugins/DataObjects/Image.h>
 
 #include <fpa/Base/Functors/Inverse.h>
-#include <fpa/Base/Functors/Inverse.hxx>
 
 // -------------------------------------------------------------------------
 fpaPlugins::InvertCost::
index f113068284c062f458bc9469c4946f0a1fa47967..2a3a738b445118582299bdac8aa3c37b31b01bfd 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__InvertCost__h__
 #define __fpa__Plugins__InvertCost__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
index c87b91210175efdc719139fc4080f9e3ca43159e..4662b62807d79785d72fa8310e5af017f729114a 100644 (file)
@@ -1,7 +1,9 @@
-#include <plugins/Plugins/SimpleImageDijkstraCost.h>
+#include <Plugins/SimpleImageDijkstraCost.h>
 #include <cpPlugins/DataObjects/Image.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 
-#include <fpa_DataObjects.h>
+#include <itkImage.h>
+#include <fpa/Image/Functors/SimpleDijkstraCost.h>
 
 // -------------------------------------------------------------------------
 fpaPlugins::SimpleImageDijkstraCost::
@@ -18,10 +20,8 @@ SimpleImageDijkstraCost( )
   choices.push_back( "float" );
   choices.push_back( "double" );
   this->m_Parameters.ConfigureAsChoices( "ResultType", choices );
-  this->m_Parameters.ConfigureAsBool( "UseImageSpacing" );
-
   this->m_Parameters.SetSelectedChoice( "ResultType", "float" );
-  this->m_Parameters.SetBool( "UseImageSpacing", false );
+  this->m_Parameters.ConfigureAsBool( "UseImageSpacing", false );
 }
 
 // -------------------------------------------------------------------------
@@ -35,8 +35,8 @@ void fpaPlugins::SimpleImageDijkstraCost::
 _GenerateData( )
 {
   auto o = this->GetInputData( "Input" );
-  cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
+  cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
index 80ae8f9fbad8c6cd0a152daad99d6f9dba5b5e32..f5d5968cec0627df32216ac4318f0fc3850f646b 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__SimpleImageDijkstraCost__h__
 #define __fpa__Plugins__SimpleImageDijkstraCost__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
index 11f2658a558533131d734771082f0c7e0eff6dc1..37382a86325f67e1d958bf3a2f9f1f4d4af08623 100644 (file)
@@ -1,7 +1,9 @@
-#include <plugins/Plugins/SimpleImageNeighborhood.h>
+#include <Plugins/SimpleImageNeighborhood.h>
 #include <cpPlugins/DataObjects/Image.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 
-#include <fpa_DataObjects.h>
+#include <itkImage.h>
+#include <fpa/Image/Functors/SimpleNeighborhood.h>
 
 // -------------------------------------------------------------------------
 fpaPlugins::SimpleImageNeighborhood::
@@ -14,8 +16,7 @@ SimpleImageNeighborhood( )
   this->_ConfigureInput< _TImage >( "Input", true, false );
   this->_ConfigureOutput< _TData >( "Output" );
 
-  this->m_Parameters.ConfigureAsUint( "Order" );
-  this->m_Parameters.SetUint( "Order", 1 );
+  this->m_Parameters.ConfigureAsUint( "Order", 1 );
 }
 
 // -------------------------------------------------------------------------
@@ -29,8 +30,8 @@ void fpaPlugins::SimpleImageNeighborhood::
 _GenerateData( )
 {
   auto o = this->GetInputData( "Input" );
-  cpPlugins_Demangle_ImageProcessDims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
+  cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
index e47b42dfd3e86a41cb7a77e4c94d40763a50756a..6c0ac920ba1d3ba3a0e41858498878ee11017d61 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__SimpleImageNeighborhood__h__
 #define __fpa__Plugins__SimpleImageNeighborhood__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
index f00a0bfb9e07c266d0643cf085be4ee868d0aab6..d68db4fc516fb9b71b70091377da5b448067c298 100644 (file)
@@ -1,9 +1,15 @@
-#include <plugins/Plugins/SkeletonFilter.h>
+#include <Plugins/SkeletonFilter.h>
 #include <cpPlugins/DataObjects/Image.h>
+#include <cpPlugins/DataObjects/Image_Demanglers.h>
 #include <cpPlugins/DataObjects/Skeleton.h>
+
 #include <fpa/Image/SkeletonFilter.h>
-#include <fpa/Image/SkeletonFilter.hxx>
-#include <itkSimpleDataObjectDecorator.hxx>
+#include <itkImage.h>
+
+/* TODO
+   #include <fpa/Image/SkeletonFilter.hxx>
+   #include <itkSimpleDataObjectDecorator.hxx>
+*/
 
 // -------------------------------------------------------------------------
 fpaPlugins::SkeletonFilter::
@@ -35,8 +41,8 @@ void fpaPlugins::SkeletonFilter::
 _GenerateData( )
 {
   auto o = this->GetInputData( "DistanceMap" );
-  cpPlugins_Demangle_ImageScalars_Dims( o, _GD0 );
-  else this->_Error( "Invalid input image." );
+  cpPlugins_Demangle_Image_RealPixels_AllDims_1( o, _GD0 )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
@@ -44,17 +50,15 @@ template< class _TDistanceMap >
 void fpaPlugins::SkeletonFilter::
 _GD0( _TDistanceMap* dmap )
 {
-  auto cmap = this->GetInputData< _TDistanceMap >( "CostMap" );
-  if( cmap != NULL )
-    this->_GD1( dmap, cmap );
-  else
-    this->_Error( "Temporary error: invalid cost map." );
+  auto o = this->GetInputData( "CostMap" );
+  cpPlugins_Demangle_Image_RealPixels_2( o, _GD1, _TDistanceMap::ImageDimension, dmap )
+    this->_Error( "Invalid input image." );
 }
 
 // -------------------------------------------------------------------------
-template< class _TDistanceMap, class _TCostMap >
+template< class _TCostMap, class _TDistanceMap >
 void fpaPlugins::SkeletonFilter::
-_GD1( _TDistanceMap* dmap, _TCostMap* cmap )
+_GD1( _TCostMap* cmap, _TDistanceMap* dmap )
 {
   typedef fpa::Image::SkeletonFilter< _TDistanceMap, _TCostMap > _TFilter;
   typedef typename _TFilter::TMST _TMST;
@@ -71,7 +75,6 @@ _GD1( _TDistanceMap* dmap, _TCostMap* cmap )
   this->GetOutput( "Skeleton" )->SetITK( filter->GetSkeleton( ) );
   this->GetOutput( "Marks" )->SetITK( filter->GetMarks( ) );
 
-
   /* TODO
      auto ep = filter->GetEndPoints( );
      auto bi = filter->GetBifurcations( );
index a24de8049b31184d417fd2e9c5b87324ffd1037a..1337ca21489cab18e84b5740c5f09257cc8e68be 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __fpa__Plugins__SkeletonFilter__h__
 #define __fpa__Plugins__SkeletonFilter__h__
 
-#include <plugins/fpaPlugins_Export.h>
+#include <fpaPlugins_Export.h>
 #include <cpPlugins/BaseObjects/ProcessObject.h>
 
 namespace fpaPlugins
@@ -21,8 +21,8 @@ namespace fpaPlugins
     template< class _TDistanceMap >
     inline void _GD0( _TDistanceMap* dmap );
 
-    template< class _TDistanceMap, class _TCostMap >
-    inline void _GD1( _TDistanceMap* dmap, _TCostMap* cmap );
+    template< class _TCostMap, class _TDistanceMap >
+    inline void _GD1( _TCostMap* cmap, _TDistanceMap* dmap );
   };
 
 } // ecapseman
diff --git a/plugins/Plugins/fpaPlugins.i b/plugins/Plugins/fpaPlugins.i
new file mode 100644 (file)
index 0000000..57709d3
--- /dev/null
@@ -0,0 +1,26 @@
+header #define ITK_MANUAL_INSTANTIATION
+
+define i_real=#real_types#
+define o_real=#real_types#
+
+tinclude fpa/Image/Functors/SimpleNeighborhood:h|hxx
+tinclude fpa/Image/Functors/SimpleDijkstraCost:h|hxx
+tinclude fpa/Base/Functors/Inverse:h|hxx
+tinclude fpa/Base/Functors/GaussianModel:h|hxx
+tinclude fpa/Image/Dijkstra:h|hxx
+tinclude fpa/Image/SkeletonFilter:h|hxx
+
+cinclude itkImage.h
+cinclude itkSimpleDataObjectDecorator.hxx
+cinclude fpa/Base/Dijkstra.hxx
+
+instances fpa::Image::Functors::SimpleNeighborhood< itk::Image< #scalar_pixels#, #process_dims# > >
+instances fpa::Image::Functors::SimpleDijkstraCost< itk::Image< #scalar_pixels#, #process_dims# >, #real_types# >
+
+instances fpa::Base::Functors::Inverse< #i_real#, #o_real# >
+instances fpa::Base::Functors::GaussianModel< #i_real#, #o_real# >
+
+instances fpa::Image::Dijkstra< itk::Image< #scalar_pixels#, #process_dims# >, itk::Image< #real_types#, #process_dims# > >
+instances fpa::Image::SkeletonFilter< itk::Image< #i_real#, #process_dims# >, itk::Image< #o_real#, #process_dims# > >
+
+** eof - $RCSfile$