]> Creatis software - bbtk.git/commitdiff
Merge remote-tracking branch 'origin/changestoITK3and4' into vtk7itk4wx3
authorEduardo DAVILA <davila@localhost.localdomain>
Tue, 3 Oct 2017 13:39:43 +0000 (15:39 +0200)
committerEduardo DAVILA <davila@localhost.localdomain>
Tue, 3 Oct 2017 13:39:43 +0000 (15:39 +0200)
kernel/appli/bbfy/bbfy.cpp
kernel/src/bbtkAtomicBlackBoxMacros.h
packages/itk/bbs/boxes/bbDICOMDirReader.bbs-OLD-gdcm1.3 [moved from packages/itk/bbs/boxes/bbDICOMDirReader.bbs with 100% similarity]
packages/itk/src/bbitkBinaryThresholdImageFilter.cxx
packages/itk/src/bbitkBinaryThresholdImageFilter.h
packages/itk/src/bbitkDICOMSeriesFileNames.xml-OLD-gdcm1.3 [moved from packages/itk/src/bbitkDICOMSeriesFileNames.xml with 88% similarity]
packages/itkvtk/src/bbitkvtkitkImage2vtkImageData.cxx
packages/itkvtk/src/bbitkvtkitkImageVector2vtkImageDataVector.cxx
packages/itkvtk/src/bbitkvtkvtkImageData2itkImage.cxx
packages/itkvtk/src/itkImageToVTKImageFilter.txx

index 43f89023c53ed59c3d9f223eed78d26fe0347a03..412e66e665a570320d5e63c109dac34cc5eb7fab 100644 (file)
@@ -103,6 +103,7 @@ private:
   std::string mTemplateImplementation;
 
   std::vector<std::string> mInclude;
+  std::string mVerbosePreprocessor;
   std::vector<std::string> mTypedef;
 
   std::string mUserSetDefaultValues;
@@ -293,6 +294,14 @@ void bbfy::ParseXML()
       mAuthor += val;
     }
 
+  // Verbose preprocessor
+  for (i=0,j=0; i<BB.nChildNode("verbosePreprocessor"); i++) 
+  {
+    std::string val;
+    bbtk::GetTextOrClear(BB.getChildNode("verbosePreprocessor",&j),val);
+    mVerbosePreprocessor += val + "\n";
+  }
+
   // Description
   for (i=0,j=0; i<BB.nChildNode("description"); i++) 
     {
@@ -555,6 +564,9 @@ void bbfy::CreateHeader()
   mFile << "#ifndef " << included <<"\n";
   mFile << "#define " << included <<"\n";
 
+  // Verbose preprocessor
+  mFile << mVerbosePreprocessor << "\n";
+
   // Includes 
   mFile << "#include \"bb" << mPackage << "_EXPORT.h\"\n";
   std::vector<std::string>::iterator i;
index 731ceed4518f5dc01b720e1cbc84d37a13de0628..a57dc65536774b764d214221164e7a2b90744f1b 100644 (file)
   
 //============================================================================
 
+
+
 //============================================================================
 /// Declares the standard interface of a AtomicBlackBox 
 /// (ctor, New, descriptor related methods)
+
+//EED 2017-08-29  itk3to4
+/*
+  std::string GetObjectName()  const                           \
+*/
+
 #define BBTK_BLACK_BOX_INTERFACE_INTERNAL(CLASS,PARENT)                \
   BBTK_OBJECT_MINIMAL_INTERFACE;                               \
   private:                                                             \
@@ -91,7 +99,7 @@
        bool allocate_connectors = true);                               \
   ~CLASS();                                                            \
   public:                                                              \
-  std::string GetObjectName() const                                    \
+  std::string GetObjectName()                                  \
   { return std::string(#CLASS)+std::string(" '")                       \
       +bbGetNameWithParent()+std::string("'"); }                       \
   inline static Pointer New(const std::string& name)                   \
index 97160e064eee523f93aba1b40d0839041b1d333f..6e620ac3d8745ee56227758723c67e1669676034 100644 (file)
@@ -69,8 +69,7 @@ namespace bbitk
                                     bbtk::AtomicBlackBox);
   BBTK_ADD_BLACK_BOX_TO_PACKAGE(itk,
                                BinaryThresholdImageFilterGeneric);
-       
-       
+               
   void BinaryThresholdImageFilterGeneric::bbUserSetDefaultValues()
   {
     bbSetInputLowerThreshold(0);
@@ -78,16 +77,16 @@ namespace bbitk
     bbSetInputInsideValue(255);
     bbSetInputOutsideValue(0);
   }
+
   void BinaryThresholdImageFilterGeneric::bbUserInitializeProcessing()
   {
   }
+
   void BinaryThresholdImageFilterGeneric::bbUserFinalizeProcessing()
   {
   }
   
-}
-
-// EO namespace bbtk
+} // EO namespace bbitk
 
 #endif //_USE_ITK_
 
index dcc7ecd627aed8e44e350455c230c35d2e15242f..bda1917b7d38b87db1aef7eea08384569258c25b 100644 (file)
@@ -210,16 +210,12 @@ namespace bbitk
  
     typedef BinaryThresholdImageFilter<T> FilterType;
     typename FilterType::Pointer f = FilterType::New("Temp");
-         typedef T* TPointer; 
-         f->bbSetInputIn( this->bbGetInputIn().get < TPointer > () );
-    f->bbSetInputLowerThreshold ( (typename T::PixelType)
-                                 this->bbGetInputLowerThreshold() );
-    f->bbSetInputUpperThreshold ( (typename T::PixelType)
-                                 this->bbGetInputUpperThreshold() );
-    f->bbSetInputInsideValue ( (typename T::PixelType)
-                              this->bbGetInputInsideValue() );
-    f->bbSetInputOutsideValue ( (typename T::PixelType)
-                               this->bbGetInputOutsideValue() );
+       typedef T* TPointer; 
+       f->bbSetInputIn( this->bbGetInputIn().get < TPointer > () );
+    f->bbSetInputLowerThreshold ( (typename T::PixelType)this->bbGetInputLowerThreshold() );
+    f->bbSetInputUpperThreshold ( (typename T::PixelType)this->bbGetInputUpperThreshold() );
+    f->bbSetInputInsideValue ( (typename T::PixelType)this->bbGetInputInsideValue() );
+    f->bbSetInputOutsideValue ( (typename T::PixelType)this->bbGetInputOutsideValue() );
     f->bbExecute();
     f->bbGetOutputOut()->Register();
     this->bbSetOutputOut( f->bbGetOutputOut() );
similarity index 88%
rename from packages/itk/src/bbitkDICOMSeriesFileNames.xml
rename to packages/itk/src/bbitkDICOMSeriesFileNames.xml-OLD-gdcm1.3
index 2941999804b5bbbbc616dcd6ba926e66eb2b8ed7..d88e86b5194e9e0330b9819c4a8749572319bd2b 100644 (file)
     #include directives to be put in the .h generated
     There must be one tag per file to include
     Here we include the standard header iostream.h -->
-  <include><PRE>itkDICOMSeriesFileNames.h</PRE></include>
+  <!-- <include><PRE>itkDICOMSeriesFileNames.h</PRE></include>-->
   <!--=====================================================================-->
+  <verbosePreprocessor><PRE>
+#include <itkConfigure.h>
+#if ITK_VERSION_MAJOR < 4
+#  include <itkDICOMSeriesFileNames.h>
+#else
+#  include <itkGDCMSeriesFileNames.h>
+#endif
+  </PRE></verbosePreprocessor>
 
   <!--========================================================================
     INPUTS/OUTPUTS DECLARATION --> 
   <!--========================================================================
     THE PROCESSING METHOD BODY -->
   <process><PRE>
+#if ITK_VERSION_MAJOR < 4
     itk::DICOMSeriesFileNames::Pointer names = 
      itk::DICOMSeriesFileNames::New();
     names->SetDirectory(bbGetInputIn()); 
     bbSetOutputOut( names->GetFileNames() );
+#else
+    itk::GDCMSeriesFileNames::Pointer names = 
+     itk::GDCMSeriesFileNames::New();
+    names->SetDirectory(bbGetInputIn()); 
+    bbSetOutputOut(
+      names->GetFileNames( names->GetSeriesUIDs().begin()->c_str() )
+    );
+#endif
   </PRE></process>
   <!--=====================================================================-->
 
index 6e192c2b19a88252befa4731f6f6aa3fbab4bba4..13dae0557d8a2266dee56d6681bdf7ef2f828406 100644 (file)
 #include "itkImageToVTKImageFilter.h"
 
 
+
+/*
+#EED 2017-08-29 itk3toitk4
+#define BBITKVTK_itkImage2vtkImageData_Template( t, ty, di )            \
+  if( t == typeid( itk::Image< ty, di > ) )                             \
+    this->Convert< itk::Image< ty, di > >( )
+*/
+
+// -------------------------------------------------------------------------
+// LFV: avoid itk::Concept check on 4d or superior images
+#define BBITKVTK_itkImage2vtkImageData_Template( t, ty, di )            \
+  if( t == typeid( itk::Image< ty, di >* ) )                             \
+    this->Convert< itk::Image< ty, di > >( )
+// -------------------------------------------------------------------------
+
 namespace bbitkvtk 
 {
   BBTK_BLACK_BOX_IMPLEMENTATION(itkImage2vtkImageData,bbtk::AtomicBlackBox);
@@ -55,7 +70,42 @@ namespace bbitkvtk
   void itkImage2vtkImageData::Convert()
   {
     bbtk::TypeInfo t = bbGetInputIn().type();
-    BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t,Convert);
+
+    // Only supports images in 1, 2 or 3 dimensions
+    BBITKVTK_itkImage2vtkImageData_Template( t, char, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, short, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, int, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, long, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, float, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, double, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned char, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned short, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned int, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned long, 1 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, char, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, short, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, int, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, long, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, float, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, double, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned char, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned short, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned int, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned long, 2 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, char, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, short, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, int, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, long, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, float, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, double, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned char, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned short, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned int, 3 );
+    else BBITKVTK_itkImage2vtkImageData_Template( t, unsigned long, 3 );
+       
+    /* Deprecated
+       BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t,Convert);
+    */
   }
 
    template<class T>
@@ -77,9 +127,7 @@ namespace bbitkvtk
        conv = ItkToVtkConnection::New();
        mConverter = conv;
        conv->SetInput( this->bbGetInputIn().get< itkImageTypePointer >() );
-      }
-    else 
-      {
+      } else {
        bbtkDebugMessage("process",5,"    ["<<bbGetFullName()<<"] : Converter ok "<<std::endl);
 
        // Input itkImageType type changed ? 
@@ -104,13 +152,10 @@ namespace bbitkvtk
 
            conv->SetInput( this->bbGetInputIn().get<itkImageTypePointer>() );
          }
-       else 
-         {
+       else {
            bbtkDebugMessage("process",5,"    ["<<bbGetFullName()<<"] : Nothing changed"<<std::endl);
          }
-      }
-    try
-      {
+      } try {
        
        bbtkDebugMessage("process",5,"    ["<<bbGetFullName()<<"] : Trying update"<<std::endl);  
 
@@ -126,6 +171,7 @@ namespace bbitkvtk
     bbtkDebugMessage("process",5,"<== ["<<bbGetFullName()<<"] : Convert<"
                     <<bbtk::TypeName<T>()
                     <<">() *DONE*"<<std::endl);
+
  }
 
   void itkImage2vtkImageData::bbUserSetDefaultValues()
index db9b1477f0a6b590ad4cc494673baaaac13d4b83..c26717aeee183ff5e7b992cd8c26ec8543f347b3 100644 (file)
 #include "bbitkvtkPackage.h"
 #include "itkImageToVTKImageFilter.h"
 
+// -------------------------------------------------------------------------
+// LFV: avoid itk::Concept check on 4d or superior images
+#define BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, ty, di ) \
+  if( t == typeid( itk::Image< ty, di > ) )                             \
+    this->Convert< itk::Image< ty, di > >( )
+// -------------------------------------------------------------------------
 
 namespace bbitkvtk 
 {
@@ -57,7 +63,42 @@ namespace bbitkvtk
   {
   // suppose *all* the images have the same type // JPR
     bbtk::TypeInfo t = bbGetInputIn()[0].type();
-    BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t,Convert);
+
+    // Only supports images in 1, 2 or 3 dimensions
+    BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, char, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, short, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, int, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, long, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, float, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, double, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned char, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned short, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned int, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned long, 1 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, char, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, short, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, int, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, long, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, float, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, double, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned char, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned short, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned int, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned long, 2 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, char, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, short, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, int, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, long, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, float, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, double, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned char, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned short, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned int, 3 );
+    else BBITKVTK_itkImageVector2vtkImageDataVector_Template( t, unsigned long, 3 );
+
+    /* Deprecated
+       BBTK_TEMPLATE_ITK_IMAGE_SWITCH(t,Convert);
+    */
   }
 
    template<class T>
index c1bf73479ebe65c21a13aa7ed165d097dc17880a..565e0274a2f04b56d08ebb8d36f2ab2b3ee9e3ce 100644 (file)
@@ -134,7 +134,9 @@ namespace bbitkvtk
       {
        
        bbtkDebugMessage("process",5,"    ["<<bbGetFullName()<<"] : Trying update"<<std::endl);  
+
        conv->Update();
+
        itkImageType* out = const_cast<itkImageType*>(conv->GetOutput());
        bbSetOutputOut(out);
       }
index 85dc0dcc8764577a1711d1947c9d9fed7f727780..034a16833be4b1a861a278ec26ddf628e3266226 100644 (file)
@@ -43,8 +43,6 @@
 namespace itk
 {
 
-
-
 /**
  * Constructor
  */
@@ -73,8 +71,6 @@ ImageToVTKImageFilter<TInputImage>
 }
 
 
-
-
 /**
  * Destructor
  */