X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkSegmentationConnectivity.cxx;h=215516ea3e47765ef6b33f8400661685f2bf48e5;hb=0476e60e846b03c8796cc74a1308b575cd3dcad6;hp=a04f6bdc11655b7a6948ef72cc4588766dc9ed95;hpb=19dda39fbfb4f8e1019c4f0dd37aa3afc8a3d1d6;p=bbtk.git diff --git a/packages/vtk/src/bbvtkSegmentationConnectivity.cxx b/packages/vtk/src/bbvtkSegmentationConnectivity.cxx index a04f6bd..215516e 100644 --- a/packages/vtk/src/bbvtkSegmentationConnectivity.cxx +++ b/packages/vtk/src/bbvtkSegmentationConnectivity.cxx @@ -59,7 +59,6 @@ namespace bbvtk // cast2 = NULL; connect2 = NULL; cast4 = NULL; - bbSetInputIn(NULL); std::vector position; position.push_back(0); @@ -68,33 +67,27 @@ namespace bbvtk bbSetInputPositionXYZ(position); std::vector threshold; threshold.push_back(0); - threshold.push_back(0); + threshold.push_back(1); bbSetInputThresholdMinMax(threshold); bbSetOutputOut(NULL); - bbSetInputOutputFormat("SAME"); bbSetInputValue(255); - - } -// -------------------------------------------------------------- - +// -------------------------------------------------------------- void SegmentationConnectivity::bbUserInitializeProcessing() { - thresh2 = vtkImageThreshold::New(); thresh2->SetInValue(255); + thresh2->SetOutValue(0); thresh2->SetOutputScalarTypeToUnsignedChar(); connect2 = vtkImageSeedConnectivity::New(); - //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 connect2->SetInput(thresh2->GetOutput()); #else connect2->SetInputData(thresh2->GetOutput()); #endif - connect2->SetInputConnectValue(255); connect2->SetOutputConnectedValue( 255 ); connect2->SetOutputUnconnectedValue(0); @@ -105,31 +98,9 @@ namespace bbvtk #else cast4->SetInputData(connect2->GetOutput()); #endif - -// EED 2016 06 15 - -/* - thresh2 = vtkImageThreshold::New(); - thresh2->SetInValue(255); - thresh2->SetOutputScalarTypeToUnsignedShort(); - thresh2->SetOutValue(0); - cast2 = vtkImageCast::New(); - cast2->SetInput(thresh2->GetOutput()); - cast2->SetOutputScalarTypeToUnsignedChar(); - connect2 = vtkImageSeedConnectivity::New(); - connect2->SetInput(cast2->GetOutput()); - connect2->SetInputConnectValue(255); - connect2->SetOutputConnectedValue(255); - connect2->SetOutputUnconnectedValue(0); - cast4 = vtkImageCast::New(); - cast4->SetInput(connect2->GetOutput()); - cast4->SetOutputScalarTypeToUnsignedShort(); -*/ - } -// -------------------------------------------------------------- - +// -------------------------------------------------------------- void SegmentationConnectivity::bbUserFinalizeProcessing() { if (thresh2!=NULL) @@ -154,20 +125,17 @@ namespace bbvtk } } - - - // -------------------------------------------------------------- - void SegmentationConnectivity::DoProcess() { - int x,y,z; int i,numPoints = bbGetInputPositionXYZ().size()/3; int verif = (bbGetInputPositionXYZ().size()-1) % 3; if (( numPoints>=1) && (verif==2) && (bbGetInputIn()!=NULL)) { +//EED 2020-01-18 int outputformat = bbtkStaticLecture::GetTypeFormat( bbGetInputOutputFormat() , bbGetInputIn() ); +// int outputformat=4; vtkImageData *imagedata = bbGetInputIn(); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 @@ -176,55 +144,45 @@ namespace bbvtk imagedata->Update(); thresh2->SetInput(imagedata); #else - imagedata->SetExtent(imagedata->GetExtent()); +// imagedata->SetExtent(imagedata->GetExtent()); thresh2->SetInputData(imagedata); #endif - - thresh2->ThresholdBetween(3000, 3001); thresh2->ThresholdBetween(bbGetInputThresholdMinMax()[0], bbGetInputThresholdMinMax()[1]); - thresh2->Modified(); thresh2->Update(); connect2->RemoveAllSeeds (); - int ext[6]; - //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 imagedata->GetWholeExtent(ext); #else imagedata->GetExtent(ext); #endif - int maxX = ext[1]-ext[0]+1; int maxY = ext[3]-ext[2]+1; int maxZ = ext[5]-ext[4]+1; - for (i=0;i=0) || (x=0) || (y=0) || (zAddSeed( x,y,z ); } else { - printf("EED WARNNIG! In box: SegmentationConnectivity point out of range \n"); + printf("EED WARNNIG! In box: SegmentationConnectivity points list out of range \n"); } // if point inside image - } // for i connect2->SetOutputConnectedValue( bbGetInputValue() ); cast4->SetOutputScalarType( outputformat ); connect2->Modified(); connect2->Update(); - cast4->Update(); - 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 - } - }// EO namespace bbvtk