int bbtkStaticLecture::GetTypeFormat( std::string formatStr , vtkImageData* image )
{
+ printf("EED bbtkStaticLecture::GetTypeFormat Start \n");
int outputformat = VTK_UNSIGNED_CHAR;
if (formatStr=="SAME")
- {
+ {
+ printf("EED bbtkStaticLecture::GetTypeFormat 1 image=%p\n",image);
if (image!=NULL) outputformat = image->GetScalarType();
+ printf("EED bbtkStaticLecture::GetTypeFormat 2 \n");
}
else if (formatStr=="VTK_BIT") outputformat = VTK_BIT; // 1
else if (formatStr=="VTK_CHAR") outputformat = VTK_CHAR; // 2
else if (formatStr=="MET_FLOAT") outputformat = VTK_FLOAT; // 10
else if (formatStr=="MET_DOUBLE") outputformat = VTK_DOUBLE; // 11
+ printf("EED bbtkStaticLecture::GetTypeFormat outputformat=%d End\n", outputformat);
+
return outputformat;
}
{
public:
static int GetTypeFormat( std::string formatStr , vtkImageData* image );
- void setPixelValue(int i, int j, int k, vtkImageData* img, double value);
- double getPixelValue(int i, int j, int k, vtkImageData* img);
+ void setPixelValue(int i, int j, int k, vtkImageData* img, double value);
+ double getPixelValue(int i, int j, int k, vtkImageData* img);
};
#endif
bbSetInputPositionXYZ(position);
std::vector<int> threshold;
threshold.push_back(0);
- threshold.push_back(0);
+ threshold.push_back(1);
bbSetInputThresholdMinMax(threshold);
bbSetOutputOut(NULL);
bbSetInputOutputFormat("SAME");
// --------------------------------------------------------------
void SegmentationConnectivity::DoProcess()
{
+
+ printf("EED (%s) SegmentationConnectivity::DoProcess Start \n", bbGetFullName().c_str() );
int x,y,z;
int i,numPoints = bbGetInputPositionXYZ().size()/3;
int verif = (bbGetInputPositionXYZ().size()-1) % 3;
if (( numPoints>=1) && (verif==2) && (bbGetInputIn()!=NULL))
{
+ printf("EED SegmentationConnectivity::DoProcess 1 format=%s %p\n", bbGetInputOutputFormat().c_str() , bbGetInputIn() );
+ printf("EED SegmentationConnectivity::DoProcess 1.1 \n" );
+
+//EED 2020-01-18
int outputformat = bbtkStaticLecture::GetTypeFormat( bbGetInputOutputFormat() , bbGetInputIn() );
+// int outputformat=4;
+ printf("EED SegmentationConnectivity::DoProcess 2 \n" );
vtkImageData *imagedata = bbGetInputIn();
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
// imagedata->SetExtent(imagedata->GetExtent());
thresh2->SetInputData(imagedata);
#endif
+ printf("EED SegmentationConnectivity::DoProcess 3 Threshold= %f %f\n", bbGetInputThresholdMinMax()[0], bbGetInputThresholdMinMax()[1] );
thresh2->ThresholdBetween(bbGetInputThresholdMinMax()[0], bbGetInputThresholdMinMax()[1]);
thresh2->Update();
connect2->RemoveAllSeeds ();
int maxX = ext[1]-ext[0]+1;
int maxY = ext[3]-ext[2]+1;
int maxZ = ext[5]-ext[4]+1;
+ printf("EED SegmentationConnectivity::DoProcess 4 numPoints=%d\n",numPoints );
for (i=0;i<numPoints;i++)
{
- x=bbGetInputPositionXYZ()[i*3+0];
- y=bbGetInputPositionXYZ()[i*3+1];
- z=bbGetInputPositionXYZ()[i*3+2];
+ x = bbGetInputPositionXYZ()[i*3+0];
+ y = bbGetInputPositionXYZ()[i*3+1];
+ z = bbGetInputPositionXYZ()[i*3+2];
if ( (x>=0) || (x<maxX) || (y>=0) || (y<maxY) || (z>=0) || (z<maxZ) )
{
+ printf("EED SegmentationConnectivity::DoProcess 4.1 xyz=%d %d %d\n",x,y,z );
connect2->AddSeed( x,y,z );
} else {
printf("EED WARNNIG! In box: SegmentationConnectivity points list out of range \n");
} // if point inside image
} // for i
+ printf("EED SegmentationConnectivity::DoProcess 4.2 \n" );
connect2->SetOutputConnectedValue( bbGetInputValue() );
+ printf("EED SegmentationConnectivity::DoProcess 4.3 \n" );
cast4->SetOutputScalarType( outputformat );
+ printf("EED SegmentationConnectivity::DoProcess 4.5 \n" );
connect2->Modified();
+ printf("EED SegmentationConnectivity::DoProcess 5 \n" );
connect2->Update();
cast4->Update();
+ printf("EED SegmentationConnectivity::DoProcess 6 \n" );
bbSetOutputOut(cast4->GetOutput() );
} else {
printf("EED WARNNIG! In box: SegmentationConnectivity List of points are not coherent. \n");
bbSetOutputOut( NULL );
}// if numPoints verif
+
+ printf("EED SegmentationConnectivity::DoProcess End \n" );
+
}
}// EO namespace bbvtk