]> Creatis software - bbtk.git/commitdiff
Brute hack to fix nb dim < 3
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Thu, 23 Jul 2009 12:27:33 +0000 (12:27 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Thu, 23 Jul 2009 12:27:33 +0000 (12:27 +0000)
packages/demo/bbs/appli/demoViewing1.bbs
packages/itk/src/bbitkImageProperties.cxx
packages/std/src/bbstdGetVectorElement.h

index 4f60d671e3bc3a068a6bc079ddcc55e57b33970d..ccfd60fdc816b2ba6cd5bea18108ac1d59d1d53b 100644 (file)
@@ -49,6 +49,7 @@ new Gimmick reader
 # ------------------------------------------------------------
 /*
 new FileSelector openFileDialog
+ set openFileDialog.Wildcard  "(*.mhd)|*.mhd"
 new MetaImageReader reader
    connect openFileDialog.Out reader.In
 */
@@ -119,6 +120,7 @@ new GetVectorIntElement gveY
 new GetVectorIntElement gveZ
    connect mc.Size gveZ.In
    set gveZ.I 2
+print "Dim Z $ gveZ.Out"
 
 #Compute the number of the 'middle' slice on X axis
 new Div div0
index 7b7e9d10ca81135e419a5749010e32698391622c..4acf845f0f04b459068ec8b8837c4a4cf696983c 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbitkImageProperties.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/15 14:57:58 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2009/07/23 12:27:35 $
+  Version:   $Revision: 1.9 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -89,18 +89,29 @@ namespace bbitk
 
     const typename itkImageType::IndexType& ind = r.GetIndex();
     std::vector<int> vind;
-    for (unsigned int i=0;i<dim;++i) vind.push_back(ind[i]);
+    for (unsigned int i=0;i<dim;++i) 
+       vind.push_back(ind[i]);
     bbSetOutputIndex(vind);
 
     const typename itkImageType::SizeType& sz = r.GetSize();
     std::vector<int> vsz;
-    for (unsigned int i=0;i<dim;++i) vsz.push_back(sz[i]);
+    for (unsigned int i=0;i<dim;++i) 
+       vsz.push_back(sz[i]);
+    
+    // brute hack to avoid failure of most black boxes that expects 3D images. // JPR
+    if (dim<3) 
+       vsz.push_back(1);
+    
     bbSetOutputSize(vsz);
 
     typename itkImageType::SpacingType sp = im->GetSpacing();
     std::vector<float> vsp;
-    for (unsigned int i=0;i<dim;++i) vsp.push_back(sp[i]);
-
+    for (unsigned int i=0;i<dim;++i) 
+       vsp.push_back(sp[i]);
+       
+    // brute hack to avoid failure of most black boxes that expects 3D images. // JPR
+    if (dim<3) 
+       vsp.push_back(1);    
      
     bbSetOutputSpacing(vsp);
 
@@ -109,9 +120,6 @@ namespace bbitk
 
 
 
-
-
-
 }
 // eo namespace bbtk
 
index 438caea889e0b99ae21f732cd6e6fb96e75ae18c..53182c517522a9aa2117c9bd18149b8f9c7f4e83 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbstdGetVectorElement.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/14 14:43:38 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2009/07/23 12:27:36 $
+  Version:   $Revision: 1.6 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -55,7 +55,7 @@ namespace bbstd
   // BlackBox description
   BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(GetVectorElement,bbtk::AtomicBlackBox);
   BBTK_NAME("Get"+bbtk::HumanTypeName<std::vector<T> >()+"Element");
-  BBTK_AUTHOR("jpr@creatis.insa-lyon.fr");
+  BBTK_AUTHOR("info-dev@creatis.insa-lyon.fr");
  // BBTK_DEFAULT_ADAPTOR();
   BBTK_DESCRIPTION("Gets the i-th element from the input vector ("+bbtk::TypeName<std::vector<T> >());
   typedef std::vector<T> Tvector;
@@ -69,12 +69,8 @@ namespace bbstd
   template <class T>
   void GetVectorElement<T>::DoIt()
   {
-   // std::string out;
-   // std::ostringstream oss;
-    int i = bbGetInputI();
-    //oss << bbGetInputIn()[i];
-    //bbSetOutputOut(out.str());
-    bbSetOutputOut(bbGetInputIn()[i]);
+   // unsigned int i = bbGetInputI();
+    bbSetOutputOut(bbGetInputIn()[bbGetInputI()]);
   }
   //=================================================================