// --------------------------------------------------------------
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];
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() );
+ cast4->Update();
+ 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