コード例 #1
0
ファイル: ftkPreprocess2.cpp プロジェクト: Pandolph/farsight
//void Preprocess::MinErrorThresholding(float *alpha_B, float *alpha_A, float *P_I)
void Preprocess::MinErrorThresholding(float *alpha_B, float *alpha_A, float *P_I, bool overwrite)
{
	//Binarize
	typedef itk::MinErrorThresholdImageFilter< ImageType3D, ImageType3D >  FilterType;
	FilterType::Pointer filter = FilterType::New();
	filter->SetInput( myImg );
	filter->SetNumberOfHistogramBins(256);
	try
	{
		filter->Update();
	}
	catch( itk::ExceptionObject & err )
	{
		std::cerr << "ITK FILTER ERROR: " << err << std::endl;
	}

	*alpha_B = (float)filter->GetAlphaLeft();
	*alpha_A = (float)filter->GetAlphaRight();
	*P_I = (float)filter->GetPriorLeft();
	
	if(overwrite)
		myImg = filter->GetOutput();
}