Luiza  v03-01
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
luiza::SimpleImageAdder Class Reference

Simple processor to add images in the input collection. More...

#include <SimpleImageAdder.h>

Inheritance diagram for luiza::SimpleImageAdder:
luiza::Processor

Public Member Functions

virtual ProcessornewProcessor ()
 Return a new instance of the processor. More...
 
virtual void init ()
 Called at the begin of the job before anything is read. More...
 
virtual void startAnalysis (GloriaDataContainer *)
 Called before first data processing loop. More...
 
virtual void processData (GloriaDataContainer *data)
 Called for every data processing loop. More...
 
virtual void check (GloriaDataContainer *data)
 Called for every loop - right after processData() call. More...
 
virtual void concludeAnalysis (GloriaDataContainer *data)
 Called after all data processing loops. More...
 
virtual void end ()
 Called after data processing is finished. More...
 
- Public Member Functions inherited from luiza::Processor
 Processor (const std::string &typeName)
 Default constructor. More...
 
virtual ~Processor ()
 Destructor.
 
virtual const std::string & type () const
 Return type name for the processor (as set in constructor).
 
virtual const std::string & name () const
 Return name of this processor.
 
virtual const std::string & logLevelName () const
 Return name of the local verbosity level of this processor - "" if not set.
 
virtual StringParameters * parameters ()
 Return parameters defined for this Processor.
 
virtual void printDescription ()
 Print information about this processor in ASCII steering file format.
 
virtual void printDescriptionXML (std::ostream &stream=std::cout)
 Print information about this processor in XML steering file format.
 
template<class T >
void printParameters ()
 Print the parameters and their values depending on the given verbosity level.
 
void printParameters ()
 Print the parameters and their values with verbosity level MESSAGE.
 
const std::string & description ()
 Description of processor.
 
bool isFirstEvent ()
 True if first event in processEvent(evt) - use this e.g. to initialize histograms etc.
 
GloriaCollectionType getGloriaInType (const std::string &colName)
 Return the input type for the collection colName. More...
 
GloriaCollectionType getGloriaOutType (const std::string &colName)
 Return the output type for the collection colName. More...
 
bool isInputCollectionName (const std::string &parameterName)
 Check if parameter defines collection. More...
 
bool isOutputCollectionName (const std::string &parameterName)
 True if the given parameter defines an LCIO output collection */.
 

Protected Member Functions

void StoreSumImage (GloriaDataContainer *data)
 Storing summed image to output collection.
 
void printEndMessage () const
 Final printout.
 
- Protected Member Functions inherited from luiza::Processor
void setReturnValue (bool val)
 Set the return value for this processor - typically at end of processEvent(). More...
 
void setReturnValue (const std::string &name, bool val)
 Set a named return value for this processor - typically at end of processEvent() More...
 
template<class T >
void registerProcessorParameter (const std::string &name, const std::string &description, T &parameter, const T &defaultVal, int setSize=0)
 Register a steering variable for this processor - call in constructor of processor. More...
 
void registerInputCollection (const GloriaCollectionType &type, const std::string &name, const std::string &description, std::string &parameter, const std::string &defaultVal, int setSize=0)
 Register parameter describing input collection. More...
 
void registerOutputCollection (const GloriaCollectionType &type, const std::string &name, const std::string &description, std::string &parameter, const std::string &defaultVal, int setSize=0)
 Register parameter describing output collection. More...
 
void registerInputCollections (const GloriaCollectionType &type, const std::string &name, const std::string &description, StringVec &parameter, const StringVec &defaultVal, int setSize=0)
 Register parameter describing input collections. More...
 
template<class T >
void registerOptionalParameter (const std::string &name, const std::string &description, T &parameter, const T &defaultVal, int setSize=0)
 Same as registerProcessorParameter except that the parameter is optional. More...
 
bool parameterSet (const std::string &name)
 Tests whether the parameter has been set in the steering file.
 
template<class T >
void message (const std::string &message) const
 Print message according to verbosity level. More...
 
template<class T >
void message (const std::basic_ostream< char, std::char_traits< char > > &m) const
 Similar to message(const std::string& message) More...
 
std::stringstream & log () const
 Returns an empty stringstream that is used by the message method.
 
virtual void setProcessorParameters (StringParameters *parameters)
 Allow friend class CCProcessor to change/reset processor parameters.
 
virtual void updateParameters ()
 Allow friend class CCProcessor to update processor parameters.
 
virtual void updateTelescopeParameters (std::string name)
 Allow to update processor parameters for given telescope name. More...
 
virtual void updateTelescopeParameters (GloriaFitsHeader *header)
 Update processor parameters based on FITS header. More...
 

Protected Attributes

string _inputCollectionName
 Name of the image collection containing images to be added.
 
string _outputCollectionName
 Name of the output image collection.
 
bool _permanentCollection
 Flag the output collection to be permanent.
 
int _nAddImages
 Number of images in the sum (0 for all in the input collection)
 
bool _useManyLoops
 Allow adding images from different loops.
 
bool _averageImage
 Flag to select adding (false) or averaging (true) of input images.
 
std::vector< std::string > _matchKeywords
 Keywords which should match for added frames.
 
std::vector< std::string > _matchValues
 Values of keywords being matched.
 
- Protected Attributes inherited from luiza::Processor
std::string _description
 Describes what the processor does. Set in constructor.
 

Detailed Description

Simple processor to add images in the input collection.

Processor to add images in the input collection. No corrections for possible shifts or any other corrections are applied.

Input
Processor takes images from Gloria data collection and adds them.
Parameters
InputCollectionName- Name of the collection containing images to be added
NumberAddImages- Number of images to be added each time, 0 for all images in input collection (default is 0)
UseManyLoops- Wait for images in next loops, if not enough images in input collection (default is false)
AverageImages- Flag to select adding (when set to false) or averaging (when set to true) of input images (default is adding ie. false)
MatchKeywords- Names for header keywords which should match for added frames. If any of these keywords changes, new sum image is created, even if the required number of images is not processed.
Output

Added (or averaged) frames are stored in the output collection

Parameters
OutputCollectionName- Name of the collection where image sums will be stored
PermanentCollection- Flag output collection, as permanent, not deleted after loop is finished (default is false)

Member Function Documentation

void luiza::SimpleImageAdder::check ( GloriaDataContainer data)
virtual

Called for every loop - right after processData() call.

Can be used to check processing and/or produce check plots.

Reimplemented from luiza::Processor.

void luiza::SimpleImageAdder::concludeAnalysis ( GloriaDataContainer data)
virtual

Called after all data processing loops.

This method is called to finalize the analysis, after all input data was read (or required number of loops was reached). Analysis of data collected in permanent data collections is possible here.

Reimplemented from luiza::Processor.

References StoreSumImage().

void luiza::SimpleImageAdder::end ( )
virtual

Called after data processing is finished.

Called after all input sources are closed for clean up. Notice that processors are called in the inverse order of the init() method so that resources allocated in the first processor also will be available for all following processors.

Reimplemented from luiza::Processor.

References printEndMessage().

void luiza::SimpleImageAdder::init ( )
virtual

Called at the begin of the job before anything is read.

Use to initialize the processor, e.g. book histograms.

Reimplemented from luiza::Processor.

References _inputCollectionName, _matchKeywords, _matchValues, _outputCollectionName, luiza::Processor::name(), luiza::Processor::parameters(), and luiza::Processor::setReturnValue().

virtual Processor* luiza::SimpleImageAdder::newProcessor ( )
inlinevirtual

Return a new instance of the processor.

Has to be implemented by subclasses.

Implements luiza::Processor.

void luiza::SimpleImageAdder::processData ( GloriaDataContainer data)
virtual
void luiza::SimpleImageAdder::startAnalysis ( GloriaDataContainer data)
virtual

Called before first data processing loop.

Can be used to initialize data collections required for analysis, eg. define permanent collections, or fill them with external data (from file, database or net). It is possible as GloriaDataContainer is already defined, contrary to init().

Reimplemented from luiza::Processor.


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