44         DiagnosticNodelet::onInit();
 
   45         srv_ = boost::make_shared<dynamic_reconfigure::Server<Config> > (*pnh_);
 
   46         dynamic_reconfigure::Server<Config>::CallbackType 
f =
 
   48         srv_->setCallback (f);
 
   49         pub_ = advertise<sensor_msgs::Image>(*pnh_, 
"output", 1);
 
   50         pub_masked_ = advertise<sensor_msgs::Image>(*pnh_, 
"output/mask", 1);
 
   51         pub_var_ = advertise<std_msgs::Float64>(*pnh_, 
"output/var", 1);
 
   64         cv::Mat image, gray, laplacian_image;
 
   65         sensor_msgs::Image::Ptr mask_img_msg;
 
   66         cv::Scalar 
mean, stddev;
 
   67         std_msgs::Float64 var_msg;
 
   69         vital_checker_ -> poke();
 
   72         cv::cvtColor(image, gray, cv::COLOR_RGB2GRAY);
 
   73         cv::Laplacian(gray, laplacian_image, CV_64F);
 
   74         cv::meanStdDev(laplacian_image, 
mean, stddev, cv::Mat());
 
   75         var = stddev.val[0] * stddev.val[0];
 
   77         cv::Mat masked_image = cv::Mat::zeros(laplacian_image.rows, laplacian_image.cols, CV_8UC1);
 
   78         laplacian_image.convertTo(laplacian_image, CV_8UC1, 1.0);
 
   79         cv::threshold(cv::abs(laplacian_image), masked_image, 
threshold_, 255, cv::THRESH_BINARY);