X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkSegmentationConnectivity.cxx;h=215516ea3e47765ef6b33f8400661685f2bf48e5;hb=edb8e9b8948e7216e06b3ef5228b16f18417ca52;hp=3b28389b314c7ba907561d6707610220205a9f43;hpb=427d8c0ac838ab789a57b28f62a7f9ff243e7b60;p=bbtk.git diff --git a/packages/vtk/src/bbvtkSegmentationConnectivity.cxx b/packages/vtk/src/bbvtkSegmentationConnectivity.cxx index 3b28389..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,56 +67,40 @@ 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->SetOutputScalarTypeToUnsignedChar(); - connect2 = vtkImageSeedConnectivity::New(); - connect2->SetInput(thresh2->GetOutput()); - connect2->SetInputConnectValue(255); - connect2->SetOutputConnectedValue( 255 ); - connect2->SetOutputUnconnectedValue(0); - cast4 = vtkImageCast::New(); - cast4->SetInput(connect2->GetOutput()); - -// EED 2016 06 15 - -/* thresh2 = vtkImageThreshold::New(); - thresh2->SetInValue(255); - thresh2->SetOutputScalarTypeToUnsignedShort(); - thresh2->SetOutValue(0); - cast2 = vtkImageCast::New(); - cast2->SetInput(thresh2->GetOutput()); - cast2->SetOutputScalarTypeToUnsignedChar(); + thresh2->SetInValue(255); + thresh2->SetOutValue(0); + thresh2->SetOutputScalarTypeToUnsignedChar(); connect2 = vtkImageSeedConnectivity::New(); - connect2->SetInput(cast2->GetOutput()); - connect2->SetInputConnectValue(255); - connect2->SetOutputConnectedValue(255); - connect2->SetOutputUnconnectedValue(0); +//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); cast4 = vtkImageCast::New(); - cast4->SetInput(connect2->GetOutput()); - cast4->SetOutputScalarTypeToUnsignedShort(); -*/ - +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + cast4->SetInput(connect2->GetOutput()); +#else + cast4->SetInputData(connect2->GetOutput()); +#endif } -// -------------------------------------------------------------- - +// -------------------------------------------------------------- void SegmentationConnectivity::bbUserFinalizeProcessing() { if (thresh2!=NULL) @@ -142,63 +125,64 @@ 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 imagedata->UpdateInformation(); imagedata->SetUpdateExtent(imagedata->GetWholeExtent()); imagedata->Update(); - thresh2->ThresholdBetween(3000, 3001); thresh2->SetInput(imagedata); +#else +// imagedata->SetExtent(imagedata->GetExtent()); + thresh2->SetInputData(imagedata); +#endif 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