Luiza
v03-01
|
Processor implementing Astrometry.net algorithms. More...
#include <Astrometry.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 () |
![]() | |
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 |
int | GetAstrometricIndexesForImage (char **, GloriaFitsImage *) |
![]() | |
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 to be added. | |
std::vector< std::string > | _positionColumns |
Names of the position columns in the object table. | |
std::string | _brightnessColumn |
Name of the object brightness column. | |
bool | _magnitudoGiven |
Flag for brightness given in magintudo. | |
double | _PixscaleHigh |
Upper boundary of possible pixel sizes in arcseconds. | |
double | _PixscaleLow |
Lower boundary of possible pixel sizes in arcseconds. | |
string | _Indexes_path |
Path to astrometric (astrometry.net) indexes files. | |
int | astrodepth |
Depth limit for astrometry.net algorithm. | |
int | astroorder |
Order of the SIP polynomial in astrometry fit. | |
int | _maxObjects |
Maximum number of objects to be used in astrometry algorithm. | |
float | _minDistance |
Minimum distance between two objects to be used in astrometry algorithm. | |
float | _bloomingCut |
Minimum distance between objects along vertical or horizontal line. | |
int | verbosity |
Verbosity of astrometry.net output. | |
bool | inparallel |
Solve using indexes parallely or not. | |
bool | overwrite |
Recalculate and overwrite astrometry if exists in a file. | |
bool | addposition |
Add object positions to the object list table. | |
bool | addtoheader |
Add astrometry output to the object list table header. | |
![]() | |
std::string | _description |
Describes what the processor does. Set in constructor. | |
Processor implementing Astrometry.net algorithms.
Processor to apply Astrometry.net algorithm for finding image orientation and transformation for calculating object position in the sky. As an input to the algorithm gloria::GloriaObjectList collection should be given. If image collection is specified as well, calculated astrometry parameters are added to the image FITS header.
ListCollectionName | - Name of the collection containing object collection (corresponding to the object list) |
ImageCollectionName | - Name of the collection containing images (corresponding to the object list) |
PositionColumns | Names of the object table columns from which object position should be taken. These are 'CCD_X' and 'CCD_Y' by default (default column names for Luiza photometry processors), but can be changed by user. |
BrightnessColumn | Name of the object list column from which object brightness should be taken ('Signal' by default). |
MagnitudoGiven | Flag to indicate that the brightness stored in the input table is already in magnitudo scale (logarythmic). Default is 'false'. |
Object list with astrometry can be stored in the new collection
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) |
Overwrite | - Flag to recalculate and overwrite astrometry, even if it exists in the file header |
AddPosition | - Flag to add RA DEC positions from astrometry to the input object list |
AddToHeader | - Flag to add astrometry parameters to the object list header |
IndexesPath | - Path to astrometric (astrometry.net) indexes files This files are required for the algorithm to run. They can be downloaded from dedicated astrometry.net web page. |
PixscaleHigh | - Upper boundary of possible pixel sizes in arcseconds, used when selecting the index files for analysis. |
PixscaleLow | - Lower boundary of possible pixel sizes in arcseconds |
AstroDepth | - Depth limit for the astrometry algorithm (default 0) |
AstroOrder | - Order of the SIP polynomial in astrometry fit (default 3) |
MaxObjects | - Maximum number of objects to be used for astrometry. Brightest objects are selected. |
MinDistance | - Minimum distance (in pixels) between two objects to be used for astrometry. Brightest objects are selected. This can help to remove some artefacts. |
BloomingCut | - Minimum distance between objects along vertical or horizontal line. To remove artificial sets of objects along vertical or horizontal lines which can appear due to blooming etc. |
AstVerbosity | - Verbosity level of astrometry.net routines (default 0) |
InParallel | - Solve using indexes parallely or not (default true) |
|
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.
References printEndMessage().
|
protected |
Return list of astrometry.net indexes proper for the image angular size Only those indexes physically accessible are returned Need to be a char **, since astrometry.net code is in plain C
References _Indexes_path, _PixscaleHigh, gloria::GloriaFitsHeader::GetKeywordValueDouble(), gloria::GloriaFitsHeader::IsKeywordSet(), gloria::GloriaFitsImage::SizeX(), and gloria::GloriaFitsImage::SizeY().
Referenced by processData().
|
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 _imageCollectionName, luiza::Processor::name(), luiza::Processor::parameters(), and luiza::Processor::setReturnValue().
|
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 loop
Reimplemented from luiza::Processor.
References _bloomingCut, _brightnessColumn, _imageCollectionName, _magnitudoGiven, _maxObjects, _minDistance, _PixscaleHigh, _PixscaleLow, _positionColumns, gloria::GloriaFitsTable::AddColumn(), gloria::GloriaFitsHeader::AddComment(), gloria::GloriaFitsHeader::AddHistory(), addposition, addtoheader, gloria::GloriaFitsTable::AdjustColumns(), astrodepth, astroorder, gloria::GloriaFitsTable::ColumnExists(), gloria::GloriaFitsTable::DeleteColumn(), GetAstrometricIndexesForImage(), gloria::GloriaDataContainer::GetImageCollection(), gloria::GloriaFitsHeader::GetKeywordValueDouble(), gloria::GloriaDataContainer::GetTableCollection(), gloria::GloriaFitsTable::GetVectorOf(), gloria::GloriaDataContainer::ImageCollectionExists(), inparallel, gloria::GloriaFitsHeader::InputFileName(), gloria::GloriaFitsHeader::IsKeywordSet(), overwrite, gloria::GloriaFitsHeader::SetKeywordDouble(), gloria::GloriaFitsHeader::SetKeywordInt(), luiza::Processor::setReturnValue(), gloria::GloriaFitsTable::SetValue(), gloria::GloriaFitsImage::SizeX(), gloria::GloriaFitsImage::SizeY(), gloria::GloriaDataContainer::TableCollectionExists(), and verbosity.