]> Creatis software - bbtk.git/commitdiff
#3167 BBTK Feature New Normal - box vtk ImageProperties GetOrientation
authorEduardo DAVILA <davila@localhost.localdomain>
Fri, 5 Jan 2018 15:29:21 +0000 (16:29 +0100)
committerEduardo DAVILA <davila@localhost.localdomain>
Fri, 5 Jan 2018 15:29:21 +0000 (16:29 +0100)
packages/vtk/src/bbvtkImageVtkProperties.cxx
packages/vtk/src/bbvtkImageVtkProperties.h

index f9d8b7d1c958362386a3b0471ae5ed9537e621a1..2057727a9a88ada2d54699fd003f226efafa8840 100644 (file)
@@ -40,43 +40,41 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageVtkProperties,bbtk::AtomicBlackBox);
 //===== 
 void ImageVtkProperties::Process()
 {
-       unsigned int dim;
-       int ext[6];
-       double spc[3];
-       double range[2];
-       std::string nametype;
-       int numberoOfComponents;
-       std::vector<int> vsize;
-       std::vector<float> vspacing;
-       std::vector<float> vrange;
+       unsigned int            dim;
+       int                             ext[6];
+       double                          spc[3];
+       double                          range[2];
+       double                          origin[3];
+       std::string             nametype;
+       int                             numberoOfComponents;
+       std::vector<int>        vsize;
+       std::vector<double> vspacing;
+       std::vector<double> vrange;
+       std::vector<double> vorigin;
 
        if ( bbGetInputIn() )
        {
                bbGetInputIn()->Modified();
                bbGetInputIn()->Update();
-               
                bbGetInputIn()->GetWholeExtent(ext);
                vsize.push_back(ext[1]-ext[0]+1);
                vsize.push_back(ext[3]-ext[2]+1);
                vsize.push_back(ext[5]-ext[4]+1);
-               
                dim = 0;
                if (vsize[0]>1) dim++;
                if (vsize[1]>1) dim++;
                if (vsize[2]>1) dim++;
-               
                bbGetInputIn()->GetScalarRange(range);
+               bbGetInputIn()->GetOrigin(origin);
                numberoOfComponents=bbGetInputIn()->GetNumberOfScalarComponents();
-       
                bbGetInputIn()->GetSpacing(spc);
                for (unsigned int i=0;i<dim;++i) 
                {
-                       vspacing.push_back((float)spc[i]);
+                       vspacing.push_back( (double)spc[i] );
+                       vorigin.push_back( (double)origin[i] );
                }
-
-               vrange.push_back((float)range[0]);
-               vrange.push_back((float)range[1]);
-
+               vrange.push_back((double)range[0]);
+               vrange.push_back((double)range[1]);
                if (bbGetInputIn()->GetScalarType()==VTK_BIT)                           nametype="VTK_BIT";                     // 1
                if (bbGetInputIn()->GetScalarType()==VTK_CHAR)                          nametype="VTK_CHAR";                    // 2
                if (bbGetInputIn()->GetScalarType()==VTK_SIGNED_CHAR)           nametype="VTK_SIGNED_CHAR";     // 15
@@ -102,13 +100,13 @@ void ImageVtkProperties::Process()
                vrange.push_back(0);
                nametype                        = "VOID";                               
        }       
-       bbSetOutputDimension( dim );
-       bbSetOutputSize( vsize );
-       bbSetOutputSpacing( vspacing );
-       bbSetOutputMinMax( vrange );
-       bbSetOutputTypeName( nametype );
-       bbSetOutputComponents( numberoOfComponents );
-       
+       bbSetOutputDimension    ( dim );
+       bbSetOutputOrigin               ( vorigin );
+       bbSetOutputSize                 ( vsize );
+       bbSetOutputSpacing              ( vspacing );
+       bbSetOutputMinMax               ( vrange );
+       bbSetOutputTypeName             ( nametype );
+       bbSetOutputComponents   ( numberoOfComponents );
 }
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
index 9569d3a2db23de0f15078460444399155a6b60a3..eb1a196f663edadcec13bcd9e3e4cdd11acfbc4e 100644 (file)
@@ -48,10 +48,11 @@ class bbvtk_EXPORT ImageVtkProperties
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
 //===== 
        BBTK_DECLARE_INPUT(In,vtkImageData*);
+       BBTK_DECLARE_OUTPUT(Origin,std::vector<double>);
        BBTK_DECLARE_OUTPUT(Dimension,unsigned int);
-       BBTK_DECLARE_OUTPUT(MinMax,std::vector<float>);
+       BBTK_DECLARE_OUTPUT(MinMax,std::vector<double>);
        BBTK_DECLARE_OUTPUT(Size,std::vector<int>);
-       BBTK_DECLARE_OUTPUT(Spacing,std::vector<float>);
+       BBTK_DECLARE_OUTPUT(Spacing,std::vector<double>);
        BBTK_DECLARE_OUTPUT(TypeName,std::string);
        BBTK_DECLARE_OUTPUT(Components,int);
   BBTK_PROCESS(Process);
@@ -67,10 +68,11 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageVtkProperties,bbtk::AtomicBlackBox);
  BBTK_DESCRIPTION("Image information Dim, Spc, Type, MinMax");
  BBTK_CATEGORY("filter");
  BBTK_INPUT(ImageVtkProperties,In,"Input image (vtk)",vtkImageData*,"");
+ BBTK_OUTPUT(ImageVtkProperties,Origin,"Origin", std::vector<double>  ,"");
  BBTK_OUTPUT(ImageVtkProperties,Dimension,"Dimensions 1D 2D 3D",unsigned int,"");
- BBTK_OUTPUT(ImageVtkProperties,MinMax,"Gray level range min and max",std::vector<float>,"");
+ BBTK_OUTPUT(ImageVtkProperties,MinMax,"Gray level range min and max",std::vector<double>,"");
  BBTK_OUTPUT(ImageVtkProperties,Size,"Size of the image",std::vector<int>,"");
- BBTK_OUTPUT(ImageVtkProperties,Spacing,"Spacing of the image",std::vector<float>,"");
+ BBTK_OUTPUT(ImageVtkProperties,Spacing,"Spacing of the image",std::vector<double>,"");
  BBTK_OUTPUT(ImageVtkProperties,TypeName,"Type format of the image",std::string,"");
  BBTK_OUTPUT(ImageVtkProperties,Components,"Number of scalar components",int,"");
 BBTK_END_DESCRIBE_BLACK_BOX(ImageVtkProperties);