} // for i
filter->SetSeedPoints( points );
filter->SetInputData( bbGetInputIn() );
- filter->ThresholdBetween(10, 100);
+ if (bbGetInputThreshold().size()==2)
+ {
+ filter->ThresholdBetween( bbGetInputThreshold()[0] , bbGetInputThreshold()[1] );
+ } else {
+ filter->ThresholdBetween( 0, 100 );
+ }// if Thershold size
+
// filter->SetNeighborhoodRadius (4, 4, 4 );
filter->SetInValue(255);
filter->SetOutValue(0);
filter->SetSliceRangeZ(minZ-border,maxZ+border);
filter->Update();
bbSetOutputOut( filter->GetOutput() );
- } // if lst
+ } else {
+ bbSetOutputOut( NULL );
+ }// if lst
}
//=====
// 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)
// if any
}
+
+//=========================================================================
+void ImageThresholdConnectivity::bbSetStatusAndPropagate(BlackBoxInputConnector* c, IOStatus s)
+{
+ bbtkBlackBoxDebugMessage("change",5,
+ "=> BlackBox::bbSetStatusAndPropagate(input,"
+ <<GetIOStatusString(s)<<")"
+ <<std::endl);
+
+ if (s==UPTODATE) bbtkError("bbSetStatusAndPropagate with status UPTODATE!");
+ c->SetStatus(s);
+
+ // Flash reaction
+ /*
+ if (bbGetBoxProcessModeValue() == Flash)
+ {
+ this->bbExecute();
+ }
+ */
+
+
+ OutputConnectorMapType::const_iterator o;
+ for ( o = bbGetOutputConnectorMap().begin();
+ o != bbGetOutputConnectorMap().end(); ++o )
+ {
+
+
+ if (o->first=="BoxChange")
+ {
+ o->second->SetStatus(UPTODATE);
+ }
+
+
+
+//EED 24/08/2015
+// EED CASPITAS 2
+ if (o->second->GetStatus()==UPTODATE)
+// if ((o->second->GetStatus()==UPTODATE) || (o->second->GetStatus()==OUTOFDATE))
+// if ((o->second->GetStatus()==UPTODATE) || (o->second->GetStatus()==MODIFIED))
+ {
+ o->second->SetStatus(OUTOFDATE);
+ o->second->SignalChange(GetThisPointer<BlackBox>(),o->first);
+ } // if
+ } // for
+
+
+ if ( ( bbBoxProcessModeIsReactive()
+ || (c==bbGetInputConnectorMap().find("BoxExecute")->second))
+ && (bbCanReact() ) )
+ {
+ bbtkBlackBoxDebugMessage("change",2,
+ "-> Execution triggered by Reactive mode or BoxExecute input change"<<std::endl);
+ bbGlobalAddToExecutionList( GetThisPointer<BlackBox>() );
+ } // if
+ bbtkBlackBoxDebugMessage("change",5,
+ "<= BlackBox::bbSetStatusAndPropagate(input)"
+ <<std::endl);
+}
+//=========================================================================
+
+
+
+
}// EO namespace bbcreaVtk
BBTK_DECLARE_INPUT(LstX,std::vector<int>);
BBTK_DECLARE_INPUT(LstY,std::vector<int>);
BBTK_DECLARE_INPUT(LstZ,std::vector<int>);
+ BBTK_DECLARE_INPUT(Threshold,std::vector<double>);
BBTK_DECLARE_INPUT(MaskValue,std::vector<double>);
BBTK_DECLARE_INPUT(Border,int);
BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
BBTK_PROCESS(Process);
void Process();
+
+
+ virutal void bbSetStatusAndPropagate(BlackBoxInputConnector* c, IOStatus s);
+
+
+
//=====
// 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_INPUT(ImageThresholdConnectivity,LstY,"LstY seeds in voxels",std::vector<int>,"");
BBTK_INPUT(ImageThresholdConnectivity,LstZ,"LstZ seeds in voxels",std::vector<int>,"");
BBTK_INPUT(ImageThresholdConnectivity,MaskValue,"( default [O 255] ) [Out In] values of the output mask",std::vector<double>,"");
+ BBTK_INPUT(ImageThresholdConnectivity,Threshold,"( default [O 100] ) [down upper] threshold to be segmented",std::vector<double>,"");
BBTK_INPUT(ImageThresholdConnectivity,Border,"(default 10)Border of the min and max positions",int,"");
BBTK_OUTPUT(ImageThresholdConnectivity,Out,"Output image",vtkImageData*,"");