- typedef itk::LaplacianImageFilter<FloatImageType, FloatImageType> LaplacianImageFilterType;
- typename LaplacianImageFilterType::Pointer laplacianFilter=LaplacianImageFilterType::New();
- laplacianFilter->SetInput(castFilter->GetOutput());
- laplacianFilter->Update();
+ typename FloatImageType::Pointer outputLaplacianFilter;
+ if (mArgsInfo.gaussian_filter_flag == 0) {
+ //std::cout<<"gaussian filter flag == 0"<<std::endl;
+ typedef itk::LaplacianImageFilter<FloatImageType, FloatImageType> LaplacianImageFilterType;
+ typename LaplacianImageFilterType::Pointer laplacianFilter=LaplacianImageFilterType::New();
+ laplacianFilter->SetInput(castFilter->GetOutput());
+ laplacianFilter->Update();
+ outputLaplacianFilter = laplacianFilter->GetOutput();
+ }
+ else {
+ //std::cout<<"gaussian filter flag == 1"<<std::endl;
+ typedef itk::LaplacianRecursiveGaussianImageFilter< FloatImageType, FloatImageType > LaplacianImageFilterType;
+ typename LaplacianImageFilterType::Pointer laplacianFilter=LaplacianImageFilterType::New();
+ laplacianFilter->SetInput(castFilter->GetOutput());
+ laplacianFilter->Update();
+ outputLaplacianFilter = laplacianFilter->GetOutput();
+ }