Public Member Functions | List of all members
WireCell::Img::BlobGrouping Class Reference

#include <BlobGrouping.h>

Inheritance diagram for WireCell::Img::BlobGrouping:
WireCell::IClusterFilter WireCell::IConfigurable WireCell::IFunctionNode< ICluster, ICluster > WireCell::IComponent< IConfigurable > WireCell::IFunctionNodeBase WireCell::Interface WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Member Functions

 BlobGrouping ()
 
virtual ~BlobGrouping ()
 
virtual void configure (const WireCell::Configuration &cfg)
 Accept a configuration. More...
 
virtual WireCell::Configuration default_configuration () const
 Optional, override to return a hard-coded default configuration. More...
 
virtual bool operator() (const input_pointer &in, output_pointer &out)
 The calling signature: More...
 
- Public Member Functions inherited from WireCell::IClusterFilter
virtual ~IClusterFilter ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
- Public Member Functions inherited from WireCell::IFunctionNode< ICluster, ICluster >
virtual ~IFunctionNode ()
 
virtual bool operator() (const boost::any &anyin, boost::any &anyout)
 The calling signature: More...
 
virtual std::vector< std::stringinput_types ()
 
virtual std::vector< std::stringoutput_types ()
 
- Public Member Functions inherited from WireCell::IFunctionNodeBase
virtual ~IFunctionNodeBase ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual int concurrency ()
 By default assume all subclasses are stateless. More...
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual void reset ()
 
- Public Member Functions inherited from WireCell::IComponent< INode >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 
- Public Member Functions inherited from WireCell::IConfigurable
virtual ~IConfigurable ()
 
- Public Member Functions inherited from WireCell::IComponent< IConfigurable >
virtual ~IComponent ()
 

Additional Inherited Members

- Public Types inherited from WireCell::IClusterFilter
typedef std::shared_ptr< IClusterFilterpointer
 
- Public Types inherited from WireCell::IFunctionNode< ICluster, ICluster >
typedef ICluster input_type
 
typedef ICluster output_type
 
typedef std::shared_ptr< const IClusterinput_pointer
 
typedef std::shared_ptr< const IClusteroutput_pointer
 
typedef IFunctionNode< ICluster, IClustersignature_type
 
- Public Types inherited from WireCell::IFunctionNodeBase
typedef std::shared_ptr< IFunctionNodeBasepointer
 
- Public Types inherited from WireCell::INode
enum  NodeCategory {
  unknown, sourceNode, sinkNode, functionNode,
  queuedoutNode, joinNode, splitNode, faninNode,
  fanoutNode, multioutNode, hydraNode
}
 
- Public Types inherited from WireCell::IComponent< INode >
typedef std::shared_ptr< INodepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 
- Public Types inherited from WireCell::IComponent< IConfigurable >
typedef std::shared_ptr< IConfigurablepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 

Detailed Description

Definition at line 22 of file BlobGrouping.h.

Constructor & Destructor Documentation

Img::BlobGrouping::BlobGrouping ( )

Definition at line 16 of file BlobGrouping.cxx.

17 {
18 }
Img::BlobGrouping::~BlobGrouping ( )
virtual

Definition at line 20 of file BlobGrouping.cxx.

21 {
22 }

Member Function Documentation

void Img::BlobGrouping::configure ( const WireCell::Configuration config)
virtual

Accept a configuration.

Implements WireCell::IConfigurable.

Definition at line 24 of file BlobGrouping.cxx.

25 {
26 }
WireCell::Configuration Img::BlobGrouping::default_configuration ( ) const
virtual

Optional, override to return a hard-coded default configuration.

Reimplemented from WireCell::IConfigurable.

Definition at line 28 of file BlobGrouping.cxx.

29 {
31  return cfg;
32 }
cfg
Definition: dbjson.py:29
Json::Value Configuration
Definition: Configuration.h:50
bool Img::BlobGrouping::operator() ( const input_pointer in,
output_pointer out 
)
virtual

The calling signature:

Implements WireCell::IFunctionNode< ICluster, ICluster >.

Definition at line 102 of file BlobGrouping.cxx.

103 {
104  if (!in) {
105  out = nullptr;
106  return true;
107  }
108 
109  cluster_indexed_graph_t grind(in->graph());
110 
111  for (auto islice : oftype<ISlice::pointer>(grind)) {
112  fill_slice(grind, islice);
113  }
114 
115  out = std::make_shared<SimpleCluster>(grind.graph());
116  return true;
117 }
IndexedGraph< cluster_node_t > cluster_indexed_graph_t
Definition: ICluster.h:105
static void fill_slice(cluster_indexed_graph_t &grind, ISlice::pointer islice)

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