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

A utility container class for multiple image objects with corresponding metadata per image. More...

#include <ImageManager.h>

Inheritance diagram for larcv::ImageManager:
larcv::laropencv_base

Public Member Functions

 ImageManager (const std::string name="ImageManager")
 Default constructor. More...
 
 ~ImageManager ()
 Default destructor. More...
 
size_t size () const
 Returns # images currently registered. More...
 
void push_back (const ::cv::Mat &img, const larcv::ImageMeta &meta)
 Register image by copying header. More...
 
::cv::Mat & img_at (size_t index=0)
 Image getter. More...
 
larcv::ImageMetameta_at (size_t index=0)
 Metadata getter. More...
 
void clear ()
 Clear data. More...
 
const larcv::loggerlogger () const
 Logger getter. More...
 
void set_verbosity (::larcv::msg::Level_t level)
 Verbosity level. More...
 

Protected Attributes

std::vector< cv::Mat > _mat_v
 Image container. More...
 
std::vector< larcv::ImageMeta_meta_v
 Metadata container. More...
 

Detailed Description

A utility container class for multiple image objects with corresponding metadata per image.


In future this class will implement its own I/O structure so that analyzers can simply
read/analyze/store image from ROOT file instead of converting from LArSoft/LArLite data file.

Definition at line 31 of file ImageManager.h.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 36 of file ImageManager.h.

36 : laropencv_base(name) {}
larcv::ImageManager::~ImageManager ( )
inline

Default destructor.

Definition at line 39 of file ImageManager.h.

39 {}

Member Function Documentation

void larcv::ImageManager::clear ( )

Clear data.

Definition at line 28 of file ImageManager.cxx.

References _mat_v, and _meta_v.

Referenced by larlite::LArImageClusterBase::analyze().

29  { _mat_v.clear(); _meta_v.clear(); }
cv::Mat & larcv::ImageManager::img_at ( size_t  index = 0)

Image getter.

Definition at line 16 of file ImageManager.cxx.

References _mat_v.

Referenced by larlite::LArImageClusterBase::analyze(), larlite::LArImageWire::extract_image(), and larlite::LArImageHit::extract_image().

17  {
18  if(index >= _mat_v.size()) throw larbys("Requested image index exceeds available image count");
19  return _mat_v[index];
20  }
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; }
ImageMeta & larcv::ImageManager::meta_at ( size_t  index = 0)

Metadata getter.

Definition at line 22 of file ImageManager.cxx.

References _meta_v.

Referenced by larlite::LArImageClusterBase::analyze().

23  {
24  if(index >= _meta_v.size()) throw larbys("Requested meta data index exceeds available image count");
25  return _meta_v[index];
26  }
void larcv::ImageManager::push_back ( const ::cv::Mat &  img,
const larcv::ImageMeta meta 
)

Register image by copying header.

Definition at line 8 of file ImageManager.cxx.

References _mat_v, and _meta_v.

Referenced by larlite::LArImageClusterBase::analyze(), larlite::LArImageWire::extract_image(), and larlite::LArImageHit::extract_image().

9  {
10  ::cv::Mat res;
11  img.copyTo(res);
12  _mat_v.push_back(res);
13  _meta_v.push_back(meta);
14  }
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); }
size_t larcv::ImageManager::size ( ) const
inline

Returns # images currently registered.

Definition at line 42 of file ImageManager.h.

References _mat_v.

Referenced by larlite::LArImageClusterBase::analyze().

42 { return _mat_v.size(); }

Member Data Documentation

std::vector<cv::Mat> larcv::ImageManager::_mat_v
protected

Image container.

Definition at line 54 of file ImageManager.h.

Referenced by clear(), img_at(), push_back(), and size().

std::vector<larcv::ImageMeta> larcv::ImageManager::_meta_v
protected

Metadata container.

Definition at line 56 of file ImageManager.h.

Referenced by clear(), meta_at(), and push_back().


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