//=====
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
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)
// 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);
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);