CFEL - ASG Software Suite  2.5.0
CASS
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cass::pp57 Class Reference

Weighted Projection of 2D result. More...

#include <operations.h>

+ Inheritance diagram for cass::pp57:
+ Collaboration diagram for cass::pp57:

Public Member Functions

 pp57 (const name_t &name)
 constructor More...
 
virtual void process (const CASSEvent &, result_t &)
 process event More...
 
virtual void loadSettings (size_t)
 load the settings of the pp More...
 
- Public Member Functions inherited from cass::Processor
 Processor (const name_t &name)
 constructor More...
 
virtual ~Processor ()
 virtual destructor More...
 
virtual void processEvent (const CASSEvent &event)
 process the event More...
 
virtual const result_tresult (const CASSEvent::id_t eventid=0)
 retrieve a result for a given id. More...
 
virtual void releaseEvent (const CASSEvent &event)
 tell the list that the result for event can be overwritten More...
 
result_t::shared_pointer resultCopy (const uint64_t eventid)
 retrieve histogram for id More...
 
virtual void load ()
 load the general settings More...
 
virtual void aboutToQuit ()
 function that will be called when the processor is about to be deleted More...
 
const names_tdependencies ()
 Define all processors keys a processor depends on. More...
 
void clearDependencies ()
 clear the dependenies More...
 
void clearHistograms ()
 clear the histograms More...
 
virtual void processCommand (std::string command)
 process command in pp More...
 
const name_t name () const
 retrieve the name of this processor More...
 
bool hide () const
 retrieve the hide flag of this processor More...
 
const std::string & comment () const
 retrieve the comment of this processor More...
 

Private Member Functions

void projectToX (result_t::const_iterator src, result_t::iterator result, result_t::iterator norm)
 integrate the rows More...
 
void projectToY (result_t::const_iterator src, result_t::iterator result, result_t::iterator norm)
 integrate the columns More...
 

Private Attributes

shared_pointer _pHist
 processor containing the 2d result we want to project More...
 
std::pair< int, int > _Xrange
 range in X we want to project More...
 
std::pair< int, int > _Yrange
 range in Y we want to project More...
 
size_t _nX
 the size of the original image in X More...
 
float _excludeVal
 the value that should be excluded in the summation More...
 
std::tr1::function< void(result_t::const_iterator, result_t::iterator, result_t::iterator)> _project
 the function used to project the image More...
 

Additional Inherited Members

- Public Types inherited from cass::Processor
typedef std::tr1::shared_ptr< Processorshared_pointer
 a shared pointer of this More...
 
typedef std::string name_t
 define the name type More...
 
typedef std::list< name_tnames_t
 define the list of names More...
 
typedef CachedList::item_type result_t
 define the results More...
 
typedef CachedList::item_sp resultsp_t
 define the shared pointer to the result More...
 
- Protected Member Functions inherited from cass::Processor
virtual void createHistList (result_t::shared_pointer result)
 create result list. More...
 
void setupGeneral ()
 general setup of the processor More...
 
bool setupCondition (bool defaultConditionType=true)
 setup the condition. More...
 
shared_pointer setupDependency (const std::string &depVarName, const name_t &name="")
 setup the dependecy. More...
 
- Protected Attributes inherited from cass::Processor
const name_t _name
 the processors name More...
 
bool _hide
 flag to tell whether this pp should be hidden in the dropdown list More...
 
std::string _comment
 optional comment that one can add to a processor. More...
 
CachedList _resultList
 the list of results More...
 
names_t _dependencies
 the list of dependencies More...
 
shared_pointer _condition
 pointer to the processor that will contain the condition More...
 

Detailed Description

Weighted Projection of 2D result.

Available PostProcessors:
"57": Weighted Project 2D result onto a axis

devides each bin by the number of values that have been added in this bin. Exclusion values will not be added to the bin.

See also
Processor for a list of all commonly available cass.ini settings.
User definable Parameters:

Processor/%name%/{InputName}
Name of the processor containing the 2D result that will be projected

Processor/%name%/{Low|Up}
Upper and lower bound of the area to project. Default is -1e6 ... 1e6

Processor/%name%/{Axis}
The axis we want to project to. Default is "xAxis". Possible choises are:

  • "xAxis": projects the selected range in y to the x-Axis
  • "yAxis": projects the selected range in x to the y-Axis

Processor/%name%/{ExclusionValue}
The value that will be excluded when doing the projection. The result will be normilzed by the amount of bins that have been summed. Default is 0.

Author
Lutz Foucar

Definition at line 851 of file operations.h.

Constructor & Destructor Documentation

pp57::pp57 ( const name_t name)

constructor

Definition at line 1122 of file operations.cpp.

References loadSettings().

Member Function Documentation

void pp57::loadSettings ( size_t  )
virtual
void pp57::process ( const CASSEvent evt,
result_t result 
)
virtual

process event

project to axis and remember how many pixels have been added at which bin. Then normalize to the number of added pixels

Reimplemented from cass::Processor.

Definition at line 1270 of file operations.cpp.

References _pHist, _project, cass::Result< T >::begin(), cass::Result< T >::datasize(), cass::CASSEvent::id(), cass::Result< T >::lock, and cass::Result< T >::size().

void pp57::projectToX ( result_t::const_iterator  src,
result_t::iterator  result,
result_t::iterator  norm 
)
private

integrate the rows

Parameters
src2d image that will be projected
resultvector were the projection will be written to
normvector where the normalization values will be added to

Definition at line 1240 of file operations.cpp.

References _excludeVal, _nX, _Xrange, _Yrange, cass::fuzzycompare(), cass::ACQIRIS::x, and cass::ACQIRIS::y.

Referenced by loadSettings().

void pp57::projectToY ( result_t::const_iterator  src,
result_t::iterator  result,
result_t::iterator  norm 
)
private

integrate the columns

Parameters
src2d image that will be projected
resultvector were the projection will be written to
normvector where the normalization values will be added to

Definition at line 1255 of file operations.cpp.

References _excludeVal, _nX, _Xrange, _Yrange, cass::fuzzycompare(), cass::ACQIRIS::x, and cass::ACQIRIS::y.

Referenced by loadSettings().

Member Data Documentation

float cass::pp57::_excludeVal
private

the value that should be excluded in the summation

Definition at line 898 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().

size_t cass::pp57::_nX
private

the size of the original image in X

Definition at line 895 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().

shared_pointer cass::pp57::_pHist
private

processor containing the 2d result we want to project

Definition at line 886 of file operations.h.

Referenced by loadSettings(), and process().

std::tr1::function<void(result_t::const_iterator, result_t::iterator, result_t::iterator)> cass::pp57::_project
private

the function used to project the image

Definition at line 903 of file operations.h.

Referenced by loadSettings(), and process().

std::pair<int,int> cass::pp57::_Xrange
private

range in X we want to project

Definition at line 889 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().

std::pair<int,int> cass::pp57::_Yrange
private

range in Y we want to project

Definition at line 892 of file operations.h.

Referenced by loadSettings(), projectToX(), and projectToY().


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