]> Creatis software - bbtk.git/commitdiff
Issue #1967 fixed
authorEsteban Correa <esteban@maurosc3ner.fedora>
Tue, 16 Apr 2013 13:10:56 +0000 (09:10 -0400)
committerEsteban Correa <esteban@maurosc3ner.fedora>
Tue, 16 Apr 2013 13:10:56 +0000 (09:10 -0400)
packages/itk/src/bbitkImageProperties.cxx
packages/itk/src/bbitkImageProperties.h

index 458531f91ed39e83a063441cf44a87c2732d8bf6..2304ba8d3168087d4e1d40b8529a768a1fefda3a 100644 (file)
@@ -104,6 +104,17 @@ namespace bbitk
    if (dim==2)
         vsz.push_back(1);
     bbSetOutputSize(vsz);
+    
+    const typename itkImageType::PointType& orgn = im->GetOrigin();
+    std::vector<float> vog;
+    for (unsigned int i=0;i<dim;++i) 
+       vog.push_back(orgn[i]);
+       
+ // brute hack to avoid failure of most black boxes that expects 3D images. // EC
+    if (dim==2)
+       vog.push_back(1.0);
+  
+    bbSetOutputOrigin(vog);
 
     typename itkImageType::SpacingType sp = im->GetSpacing();
     std::vector<float> vsp;
index a1c90dfd8b6a3d80b10fdbb2ff2a6676d84f5773..4149e44b420d51d01b7fb55544fbe6601720f0ce 100644 (file)
@@ -69,6 +69,7 @@ namespace bbitk
     BBTK_DECLARE_OUTPUT(LargestPossibleRegion,anyImageRegion);
     BBTK_DECLARE_OUTPUT(Index,std::vector<int>);
     BBTK_DECLARE_OUTPUT(Size,std::vector<int>);
+    BBTK_DECLARE_OUTPUT(Origin,std::vector<float>);
     BBTK_DECLARE_OUTPUT(Spacing,std::vector<float>);
        BBTK_DECLARE_OUTPUT(MinMax,std::vector<float>);
     BBTK_PROCESS(DoIt);
@@ -91,8 +92,9 @@ namespace bbitk
   BBTK_OUTPUT(ImageProperties,TypeName,"Pixel type name",std::string,"pixel type");
   BBTK_OUTPUT(ImageProperties,Dimension,"Dimension",unsigned int,"image dimension");
   BBTK_OUTPUT(ImageProperties,LargestPossibleRegion,"Global extent of the image",anyImageRegion,"");
-  BBTK_OUTPUT(ImageProperties,Index,"Origin of the image",std::vector<int>,"image index");
+  BBTK_OUTPUT(ImageProperties,Index,"Index of the image",std::vector<int>,"image index");
   BBTK_OUTPUT(ImageProperties,Size,"Size in each dimension",std::vector<int>,"image size");
+  BBTK_OUTPUT(ImageProperties,Origin,"Origin of the image",std::vector<float>,"image origin");
   BBTK_OUTPUT(ImageProperties,Spacing,"Size of the voxels",std::vector<float>,"voxel size");
   BBTK_OUTPUT(ImageProperties,MinMax,"Minimum and the maximum intensity values of an image",std::vector<float>,"");
   BBTK_END_DESCRIBE_BLACK_BOX(ImageProperties);