Luiza
v03-01
|
Processor to calculate aperture photometry on the CCD frame. More...
#include <WeightedAperturePhotometry.h>
Public Member Functions | |
virtual Processor * | newProcessor () |
Return a new instance of the processor. More... | |
virtual void | init () |
virtual void | processData (GloriaDataContainer *data) |
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 | startAnalysis (GloriaDataContainer *) |
Called before first data processing loop. More... | |
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 ¶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 | _imageCollectionName |
Name of the image collection containing images. | |
string | _listCollectionName |
Name of the table collection containing object lists. | |
string | _outputCollectionName |
Name of the output object list collection. | |
bool | _permanentCollection |
Flag the output collection to be permanent. | |
float | _apertureRadius |
Radius of circular aperture used for signal counting in pixels. | |
std::vector< float > | _annulusRadii |
Inner and outer radius of the annulus used for background subtraction. | |
int | _backgroundSampling |
Background sampling factor. More... | |
int | _frameDivision |
Frame division for background calculation. More... | |
int | _interpolationOrder |
Polinomial order used to interpolate background map. | |
double | _signalThreshold |
Threshold for the cluster signal (in units of noise level) | |
bool | _removeEmpty |
Flags if clusters with signal below SignalThreshold should be removed. | |
std::string | _brightnessColumn |
Name of the column to store object signal. | |
std::vector< float > | _objectPositions |
Object positions (two numbers, RA,DEC in degree, per object) | |
bool | _useTelescopeParameters |
Use network configuration file to update processor parameters. More... | |
bool | _usingObjectList |
Flag indicating input method used. | |
bool | _correctPosition |
Flag for calculating CoG position from pixels within aperture. | |
std::vector< std::string > | _positionColumns |
Column names for corrected positions. | |
bool | _addNoise |
Flag for writing noise information to output table. | |
string | _noiseColumn |
Column name for noise information. | |
bool | _addSpread |
Flag for writing spread information to output table. | |
std::vector< std::string > | _spreadColumns |
Column names for spread information. | |
bool | _addShape |
Flag for writing shape information to output table. | |
std::vector< std::string > | _shapeColumns |
Column names for shape information. | |
std::vector< std::string > | _copykey |
Keywords of image fits header to copied to the table header. | |
bool | _usingStatistics |
Flag indicating calculation of statistics for pixel within aperture. | |
std::vector< int > | _apShiftX |
Pixel shifts for aperture definition (to speed up the code) | |
std::vector< double > | _awWeights [9] |
Weights attributed to pixels at the aperture boundary. More... | |
Protected Attributes inherited from luiza::Processor | |
std::string | _description |
Describes what the processor does. Set in constructor. | |
Processor to calculate aperture photometry on the CCD frame.
Processor to calculate aperture photometry on CCD images in the input collection. If input object collection is specified, photometry is calculated for all objects in the object list. For the targeted analysis, coordinates of the objects of interest can be specified. However, valid astrometry has to be found in the image fits header in that case. Two approaches for background calculation are possible: either it is calculated from media of pixels in annulus around object position (when AnnulusRadii is specified) or from the background map calculated for the whole image (as in BackgroundImage processor). The algorithm used differs from the one implemented in FastAperturePhotometry by introducing weights for pixels which are at the aperture boundary. The weight depends also on the exact position of the object.
ImageCollectionName | - Name of the collection containing input images |
ListCollectionName | - Name of the collection containing GloriaObjectList |
ObjectPositions | Positions of the considered objects in (Ra,Dec), should be given in degrees (N x 2 numbers). |
ApertureRadius | - Radius of circular aperture used for signal counting in pixels. Distance is calculated from actual object position and appropriate weights are applied to pixels which are only partly contained in the defined aperture. |
AnnulusRadii | - Inner and outer radius of the annulus used for background subtraction. |
BackgroundSampling | - Background level calculation for the whole image can be sped up by considering only 1/BackgroundSampling of pixels. |
FrameDivision | - Background for the image is calculated for FrameDivision x FrameDivision subimages and then interpolated between them. |
InterpolationOrder | - polinomial order used to interpolate between centers of subframes when calculating background values on the image |
SignalThreshold | - Threshold for the signal value, given in units of noise level (above background level). For signal below this threshold zero value is stored (or the cluster is removed from the list, if RemoveEmpty flag is set). |
RemoveEmpty | - Flag which indicates if clusters with signal below SignalThreshold should be removed from ObjectList or not. |
BrightnessColumn | - Name of the column in which object brightness should be stored ('Signal' by default). |
OutputCollectionName | - Name of the collection where object table will be stored |
PermanentCollection | - Flag output collection, as permanent, not deleted after loop is finished (default is false) |
CorrectPosition | Flag to enable cluster position recalculation, based on the CoG of pixels within the aperture. |
PositionColumns | Names for columns containing corrected position. Default is "CCD_X" and "CCD_Y", which means that positions in the input object list will be corrected. |
AddNoise | Flag to add noise information to the output table. |
NoiseColumn | Name for the noise column. Default name is "Noise" |
AddSpread | Flag to add charge spread information to the output table: RMS in X, RMS in Y and X-Y correlation calculated from pixels within aperture. |
SpreadColumns | Names for columns containing charge spread information. Default names are "RMS_X", "RMS_Y" and "CORR_XY" |
AddShape | Flag to add charge distribution shape information to the output table: object size (FWHM), elongation (ellipticity), spread along primary (longer) and secondary (shorter) axis, and orientation (direction of the primary axis in degrees). |
ShapeColumns | Names for columns containing charge distribution shape information. Default names are "FWHM", "ELONG", "LENGTH", "WIDTH" and "ANGLE" |
HeaderRecords | - Keywords of image fits header, which should be copied to the fits header of the object list. This is done only if the new list is created. If brightness is added to the existing list, no records are copied. Default keyword list consists of following records: DATE-OBS, JD, HJD, OBJECT, TIME_UT TELESCOP, INSTRUME, OBSERVAT, CAMID, RA, DEC. |
|
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 data processing for clean up.
Reimplemented from luiza::Processor.
|
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.
|
inlinevirtual |
Return a new instance of the processor.
Has to be implemented by subclasses.
Implements luiza::Processor.
|
protected |
Test method for const.
|
virtual |
Called for every data loop
Reimplemented from luiza::Processor.
References gloria::GloriaFitsTable::AddColumn(), gloria::GloriaFitsHeader::AddKeyword(), gloria::GloriaObjectList::AddObject(), gloria::GloriaClusterStatistics::AddPixel(), gloria::GloriaFitsTable::AdjustColumns(), gloria::GloriaMedianMap::CalculateBgMap(), gloria::GloriaFitsTable::ColumnExists(), gloria::GloriaDataContainer::CreateTableCollection(), gloria::GloriaFitsTable::DeleteRow(), gloria::GloriaMedianMap::GetBgLevel(), gloria::GloriaClusterStatistics::GetElongation(), gloria::GloriaFitsImage::GetFloatImageData(), gloria::GloriaClusterStatistics::GetFWHM(), gloria::GloriaDataContainer::GetImageCollection(), gloria::GloriaFitsImage::GetIntImageData(), gloria::GloriaFitsHeader::GetKeywordRecord(), gloria::GloriaClusterStatistics::GetLength(), gloria::GloriaMedianMap::GetNoise(), gloria::GloriaObjectList::GetObjectNumber(), gloria::GloriaClusterStatistics::GetOrientation(), gloria::GloriaFitsTable::GetRowNumber(), gloria::GloriaClusterStatistics::GetSignal(), gloria::GloriaDataContainer::GetTableCollection(), gloria::GloriaFitsTable::GetValueOf(), gloria::GloriaClusterStatistics::GetWidth(), gloria::GloriaClusterStatistics::GetXpos(), gloria::GloriaClusterStatistics::GetXspread(), gloria::GloriaClusterStatistics::GetXYcorr(), gloria::GloriaClusterStatistics::GetYpos(), gloria::GloriaClusterStatistics::GetYspread(), gloria::GloriaDataContainer::ImageCollectionExists(), gloria::GloriaFitsImage::IsFloatImage(), gloria::GloriaFitsHeader::IsKeywordSet(), gloria::GloriaFitsTable::Print(), gloria::GloriaFitsHeader::PrintHeader(), gloria::GloriaFitsTable::SetLast(), gloria::GloriaFitsTable::SetValue(), gloria::GloriaFitsImage::SizeX(), gloria::GloriaFitsImage::SizeY(), and gloria::GloriaDataContainer::TableCollectionExists().
|
protected |
Weights attributed to pixels at the aperture boundary.
Weights are calculated for 9 object positions on the central pixel (3x3 grid: 0 for (0,0), 1 for (0.5,0) ... 8 for (1.,1)) and then interpolated.
|
protected |
Background sampling factor.
Parameter used to speed up background level calculation. Only every BackgroundSampling pixel is used.
|
protected |
Frame division for background calculation.
Background is calculated for FrameDivision x FrameDivision subimages and then interpolated between them
|
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.