LArOpenCV  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
larcv::ToyImageCluster Class Reference

A simple clustering algorithm meant to serve for testing/example by Kazu. More...

#include <ToyImageCluster.h>

Inheritance diagram for larcv::ToyImageCluster:
larcv::ImageClusterBase larcv::laropencv_base

Public Member Functions

 ToyImageCluster (const std::string name="ToyImageCluster")
 Default constructor. More...
 
 ~ToyImageCluster ()
 Default destructor. More...
 
const std::string & Name () const
 Name accessor. More...
 
void Configure (const ::fcllite::PSet &pset)
 Configuration method. More...
 
void Profile (bool doit=true)
 Profile flag setter. More...
 
larcv::ContourArray_t Process (const larcv::ContourArray_t &clusters, const ::cv::Mat &img, larcv::ImageMeta &meta)
 wrapper execution method: internally executes Process function (see there for details) More...
 
size_t ProcessCount () const
 Process count. More...
 
double ProcessTime () const
 Process time. More...
 
const larcv::loggerlogger () const
 Logger getter. More...
 
void set_verbosity (::larcv::msg::Level_t level)
 Verbosity level. More...
 

Protected Member Functions

void _Configure_ (const ::fcllite::PSet &pset)
 Configuration method. More...
 
larcv::ContourArray_t _Process_ (const larcv::ContourArray_t &clusters, const ::cv::Mat &img, larcv::ImageMeta &meta)
 Process method. More...
 

Private Attributes

std::vector< double > _canny_params
 

Detailed Description

A simple clustering algorithm meant to serve for testing/example by Kazu.

Definition at line 24 of file ToyImageCluster.h.

Constructor & Destructor Documentation

larcv::ToyImageCluster::ToyImageCluster ( const std::string  name = "ToyImageCluster")
inline

Default constructor.

Definition at line 29 of file ToyImageCluster.h.

29  : ImageClusterBase(name)
30  {}
larcv::ToyImageCluster::~ToyImageCluster ( )
inline

Default destructor.

Definition at line 33 of file ToyImageCluster.h.

33 {}

Member Function Documentation

void larcv::ToyImageCluster::_Configure_ ( const ::fcllite::PSet &  pset)
protectedvirtual

Configuration method.

Implements larcv::ImageClusterBase.

Definition at line 9 of file ToyImageCluster.cxx.

References _canny_params.

10  {
11  _canny_params = pset.get<std::vector<double> >("CannyParams");
12  if(_canny_params.size() != 3) throw larbys("CannyParams must be length 3 vector!");
13  }
ContourArray_t larcv::ToyImageCluster::_Process_ ( const larcv::ContourArray_t clusters,
const ::cv::Mat &  img,
larcv::ImageMeta meta 
)
protectedvirtual

Process method.

Implements larcv::ImageClusterBase.

Definition at line 15 of file ToyImageCluster.cxx.

References _canny_params.

18  {
19  ::cv::Mat blurred_img;
20  ::cv::blur( img, blurred_img, ::cv::Size(3,3) );
21  ::cv::Canny(blurred_img,blurred_img,_canny_params[0],_canny_params[1],_canny_params[2]);
22  ContourArray_t result;
23  std::vector<cv::Vec4i> cv_hierarchy_v;
24  //::cv::findContours(_canny_v[plane],cv_contour_v,cv_hierarchy_v,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE);
25  ::cv::findContours(blurred_img,result,cv_hierarchy_v,
26  CV_RETR_EXTERNAL,
27  CV_CHAIN_APPROX_SIMPLE);
28  //std::cout<<result.size()<<std::endl;
29  return result;
30  }
void larcv::ImageClusterBase::Configure ( const ::fcllite::PSet &  pset)
inherited

Configuration method.

Definition at line 16 of file ImageClusterBase.cxx.

References larcv::ImageClusterBase::_Configure_(), larcv::ImageClusterBase::_profile, LARCV_DEBUG, and larcv::laropencv_base::set_verbosity().

16  {
17 
18  LARCV_DEBUG((*this)) << "start" << std::endl;
19  this->set_verbosity((msg::Level_t)(cfg.get<unsigned short>("Verbosity",(unsigned short)(this->logger().level()))));
20  _profile = cfg.get<bool>("Profile",_profile);
21 
22  this->_Configure_(cfg);
23 
24  LARCV_DEBUG((*this)) << "end" << std::endl;
25  }
const larcv::logger& larcv::laropencv_base::logger ( ) const
inlineinherited

Logger getter.

Definition at line 43 of file laropencv_base.h.

References larcv::laropencv_base::_logger.

Referenced by larcv::ImageClusterManager::Configure().

44  { return *_logger; }
const std::string& larcv::ImageClusterBase::Name ( ) const
inlineinherited

Name accessor.

Definition at line 54 of file ImageClusterBase.h.

References larcv::ImageClusterBase::_name.

54 { return _name; };
ContourArray_t larcv::ImageClusterBase::Process ( const larcv::ContourArray_t clusters,
const ::cv::Mat &  img,
larcv::ImageMeta meta 
)
inherited

wrapper execution method: internally executes Process function (see there for details)

Definition at line 27 of file ImageClusterBase.cxx.

References larcv::ImageClusterBase::_proc_count, larcv::ImageClusterBase::_proc_time, larcv::ImageClusterBase::_Process_(), larcv::ImageClusterBase::_profile, larcv::ImageClusterBase::_watch, larcv::Watch::Start(), and larcv::Watch::WallTime().

30  {
31  if(!_profile) return this->_Process_(clusters,img,meta);
32  _watch.Start();
33  auto result = this->_Process_(clusters,img,meta);
35  ++_proc_count;
36  return result;
37  }
size_t larcv::ImageClusterBase::ProcessCount ( ) const
inlineinherited

Process count.

Definition at line 70 of file ImageClusterBase.h.

References larcv::ImageClusterBase::_proc_count.

70 { return _proc_count; }
double larcv::ImageClusterBase::ProcessTime ( ) const
inlineinherited

Process time.

Definition at line 72 of file ImageClusterBase.h.

References larcv::ImageClusterBase::_proc_time.

72 { return _proc_time; }
void larcv::ImageClusterBase::Profile ( bool  doit = true)
inlineinherited

Profile flag setter.

Definition at line 60 of file ImageClusterBase.h.

References larcv::ImageClusterBase::_profile.

60 { _profile = doit; }
void larcv::laropencv_base::set_verbosity ( ::larcv::msg::Level_t  level)
inlineinherited

Verbosity level.

Definition at line 47 of file laropencv_base.h.

References larcv::laropencv_base::_logger.

Referenced by larcv::ImageClusterBase::Configure(), and larcv::ImageClusterManager::Configure().

48  { _logger->set(level); }

Member Data Documentation

std::vector<double> larcv::ToyImageCluster::_canny_params
private

Definition at line 47 of file ToyImageCluster.h.

Referenced by _Configure_(), and _Process_().


The documentation for this class was generated from the following files: