Luiza
v03-01
|
Processor to add images, based on astrometry (taking into account possible shifts) More...
#include <AstroImageAdder.h>
Public Member Functions | |
virtual Processor * | newProcessor () |
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 *) |
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 ¶meterName) |
Check if parameter defines collection. More... | |
bool | isOutputCollectionName (const std::string ¶meterName) |
True if the given parameter defines an LCIO output collection */. | |
Protected Member Functions | |
void | printEndMessage () const |
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 ¶meter, 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 ¶meter, 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 ¶meter, 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 ¶meter, 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 ¶meter, 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. | |
int | _frameDivision |
Frame division for shift map calculation. More... | |
int | _interpolationOrder |
Polinomial order used to interpolate shift correction maps. | |
Protected Attributes inherited from luiza::Processor | |
std::string | _description |
Describes what the processor does. Set in constructor. | |
Processor to add images, based on astrometry (taking into account possible shifts)
Processor can be used to add images in the input collection. Corrections for possible shifts between images (eg. due to mount slide) are applied based on astrometry results stored in image headers. Float image stored in the output colection is an average of input images.
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) |
FrameDivision | Shift maps in X and Y art calculated only in bin centers, with frame divided into FrameDivision x FrameDivision bins. Shifts are then interpolating between bin centers. |
InterpolationOrder | polinomial order used to interpolate between centers of bins when calculating X/Y position corrections. |
Averaged frames are stored in the output collection
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) |
|
virtual |
Called for every loop - right after processData() call.
Can be used to check processing and/or produce check plots.
Reimplemented from luiza::Processor.
|
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 _outputCollectionName, gloria::GloriaDataContainer::GetImageCollection(), and gloria::GloriaDataContainer::SetImageCollectionPermanent().
|
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().
|
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, _nAddImages, _outputCollectionName, _useManyLoops, luiza::Processor::name(), and luiza::Processor::parameters().
|
inlinevirtual |
Return a new instance of the processor.
Has to be implemented by subclasses.
Implements luiza::Processor.
|
protected |
Test method for const.
Referenced by end().
|
virtual |
Called for every data processing loop.
This is where most of the work (analysis) is done. Data is exchanged between processors via GloriaDataContainer
Reimplemented from luiza::Processor.
References _frameDivision, _inputCollectionName, _interpolationOrder, _nAddImages, _outputCollectionName, _permanentCollection, _useManyLoops, gloria::GloriaFitsImage::ConvertToFloat(), gloria::GloriaFitsHeader::ErrorMessage(), gloria::GloriaFitsImage::GetFloatImageData(), gloria::GloriaDataContainer::GetImageCollection(), gloria::GloriaFitsImage::GetIntImageData(), gloria::GloriaValueMap::GetMapImage(), gloria::GloriaFitsHeader::InputFileName(), gloria::GloriaFitsImage::IsIntImage(), luiza::Processor::setReturnValue(), gloria::GloriaFitsImage::SizeX(), and gloria::GloriaFitsImage::SizeY().
|
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.
|
protected |
Frame division for shift map calculation.
Position correction is calculated for FrameDivision x FrameDivision bins and then interpolated between them
Referenced by processData().