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

Processor to calculate Gaus profile parameters for stars on the CCD frame. More...

#include <CalculateGausPSF.h>

Inheritance diagram for luiza::CalculateGausPSF:
luiza::Processor

Public Member Functions

virtual ProcessornewProcessor ()
 Return a new instance of the processor. More...
 
virtual void init ()
 
virtual void processData (GloriaDataContainer *data)
 
virtual void startAnalysis (GloriaDataContainer *data)
 Called before first data processing loop. More...
 
virtual void check (GloriaDataContainer *data)
 Called for every loop - right after processData() call. More...
 
virtual void end ()
 
- Public Member Functions inherited from luiza::Processor
 Processor (const std::string &typeName)
 Default constructor. More...
 
virtual ~Processor ()
 Destructor.
 
virtual void concludeAnalysis (GloriaDataContainer *)
 Called after all data processing loops. More...
 
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 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 &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 _imageCollectionName
 Name of the image collection containing images.
 
string _outputCollectionName
 Name of the output object list collection.
 
bool _permanentCollection
 Flag the output collection to be permanent.
 
int _backgroundSampling
 Background sampling factor. More...
 
int _backgroundFrameDivision
 Frame division for background calculation. More...
 
int _interpolationOrder
 Polinomial order used to interpolate background map.
 
int _frameDivision
 Frame division for shape map calculation. More...
 
double _pixThreshold
 Threshold for the highest pixel signal (in units of noise level)
 
double _medianThreshold
 Cut on the pixel median (in units of noise level) for star definition.
 
double _MaxPixelValue
 Threshold using to eliminate the saturated stars.
 
bool _useTelescopeParameters
 Use network configuration file to update processor parameters. More...
 
- Protected Attributes inherited from luiza::Processor
std::string _description
 Describes what the processor does. Set in constructor.
 

Detailed Description

Processor to calculate Gaus profile parameters for stars on the CCD frame.

Processor calculates Gaus profile parameters for stars found on CCD images from the input collection. For each star found in the image (after background subtraction is applied) following parameters of its profile are calculated from the selected pixels: RMS in X, RMS in Y, XY-correlation, FWHM, Elongation and orientation. Median of the obtained parameter value is calculated in given number of frame sectors and the resulting map is stored in the output table. It can then be used to calculating Gauss kernel for given image.

Input
Processor reads images from the Gloria data collection
Parameters
ImageCollectionName- Name of the collection containing input images
Algorithm parameters
User can modify processor performance by specify number of sectors on the analysed frame. Moreover user can choose, whether want only brigher stars or also darker by defining parameter to distinguish the stars from the sky (in units of noise level)
Parameters
BackgroundSampling- Background level calculation for the whole image can be sped up by considering only 1/BackgroundSampling of pixels.
BackgroundFrameDivision- Background for the image is calculated for BackgroundFrameDivision x BackgroundFrameDivision subimages and then interpolated between them.
FrameDivision- Shape parameter map is calculated for FrameDivision x FrameDivision subimages.
InterpolationOrder- polinomial order used to interpolate between centers of subframes when calculating background values on the image
pixThreshold- signal threshold for the pixel to be considered as a star maximum (if higher than all its neighbours; in units of noise level)
medianThreshold- cut on the signal median of all pixels used for star shape calculation (in units of noise level). New pixels are added to the star until this threshold is met.
MaxPixelValue- signal threshold for the saturated pixels used to eliminate saturated stars and shape analysis (in value of pixel)
Output
Object lists are stored in the output collection
Parameters
OutputCollectionName- Name of the collection where parameter map will be stored
PermanentCollection- Flag output table collection, as permanent, not deleted after loop is finished (default is false)

Member Function Documentation

void luiza::CalculateGausPSF::check ( GloriaDataContainer )
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::CalculateGausPSF::end ( )
virtual

Called after data processing for clean up.

Reimplemented from luiza::Processor.

void luiza::CalculateGausPSF::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.

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

Return a new instance of the processor.

Has to be implemented by subclasses.

Implements luiza::Processor.

void luiza::CalculateGausPSF::printEndMessage ( ) const
protected

Test method for const.

void luiza::CalculateGausPSF::processData ( GloriaDataContainer data)
virtual

Called for every data loop

Reimplemented from luiza::Processor.

References gloria::GloriaFitsTable::AddColumn(), gloria::GloriaClusterStatistics::AddPixel(), gloria::GloriaFitsTable::AddRow(), gloria::GloriaMedianMap::CalculateBgMap(), gloria::GloriaMedianMap::CalculateMap(), gloria::GloriaClusterStatistics::Clear(), gloria::GloriaDataContainer::CreateTableCollection(), gloria::GloriaMedianMap::GetBgImage(), gloria::GloriaClusterStatistics::GetElongation(), gloria::GloriaFitsImage::GetFloatImageData(), gloria::GloriaClusterStatistics::GetFWHM(), gloria::GloriaDataContainer::GetImageCollection(), gloria::GloriaFitsImage::GetIntImageData(), gloria::GloriaMedianMap::GetNoiseImage(), gloria::GloriaClusterStatistics::GetNpixel(), gloria::GloriaClusterStatistics::GetOrientation(), gloria::GloriaClusterStatistics::GetSignal(), gloria::GloriaValueMap::GetTable(), gloria::GloriaDataContainer::GetTableCollection(), gloria::GloriaFitsTable::GetVectorOf(), gloria::GloriaClusterStatistics::GetXpos(), gloria::GloriaClusterStatistics::GetXspread(), gloria::GloriaClusterStatistics::GetXYcorr(), gloria::GloriaClusterStatistics::GetYpos(), gloria::GloriaClusterStatistics::GetYspread(), gloria::GloriaDataContainer::ImageCollectionExists(), gloria::GloriaFitsImage::IsFloatImage(), gloria::GloriaValueMap::SetImageSize(), gloria::GloriaFitsTable::SetLast(), gloria::GloriaMedianMap::SetMedianName(), gloria::GloriaFitsImage::SizeX(), gloria::GloriaFitsImage::SizeY(), and gloria::GloriaDataContainer::TableCollectionExists().

void luiza::CalculateGausPSF::startAnalysis ( GloriaDataContainer )
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.

Member Data Documentation

int luiza::CalculateGausPSF::_backgroundFrameDivision
protected

Frame division for background calculation.

Background is calculated for BackgroundFrameDivision x BackgroundFrameDivision subimages and then interpolated between them

int luiza::CalculateGausPSF::_backgroundSampling
protected

Background sampling factor.

Parameter used to speed up background level calculation. Only every BackgroundSampling pixel is used.

int luiza::CalculateGausPSF::_frameDivision
protected

Frame division for shape map calculation.

Shape parameter maps are calculated for FrameDivision x FrameDivision subimages

bool luiza::CalculateGausPSF::_useTelescopeParameters
protected

Use network configuration file to update processor parameters.

When true, network configuration file is checked for each analysed image and processor parameters are changed if default parameter values are defined for given instrument/telescope.


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