CFEL - ASG Software Suite
2.5.0
CASS
|
Weighted Projection of 2D result. More...
#include <operations.h>
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... | |
![]() | |
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_t & | result (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_t & | dependencies () |
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 | |
![]() | |
typedef std::tr1::shared_ptr< Processor > | shared_pointer |
a shared pointer of this More... | |
typedef std::string | name_t |
define the name type More... | |
typedef std::list< name_t > | names_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... | |
![]() | |
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... | |
![]() | |
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... | |
Weighted Projection of 2D result.
devides each bin by the number of values that have been added in this bin. Exclusion values will not be added to the bin.
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:
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.
Definition at line 851 of file operations.h.
pp57::pp57 | ( | const name_t & | name | ) |
|
virtual |
load the settings of the pp
Reimplemented from cass::Processor.
Definition at line 1128 of file operations.cpp.
References cass::Processor::_condition, _excludeVal, _nX, _pHist, _project, _Xrange, _Yrange, cass::Log::add(), QSettings::beginGroup(), cass::Processor::createHistList(), QString::fromStdString(), cass::Log::INFO, input, cass::Processor::name(), projectToX(), projectToY(), cass::Processor::setupCondition(), cass::Processor::setupDependency(), cass::Processor::setupGeneral(), cass::toString(), QSettings::value(), cass::Result< float >::xAxis, and cass::Result< float >::yAxis.
Referenced by pp57().
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().
|
private |
integrate the rows
src | 2d image that will be projected |
result | vector were the projection will be written to |
norm | vector 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().
|
private |
integrate the columns
src | 2d image that will be projected |
result | vector were the projection will be written to |
norm | vector 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().
|
private |
the value that should be excluded in the summation
Definition at line 898 of file operations.h.
Referenced by loadSettings(), projectToX(), and projectToY().
|
private |
the size of the original image in X
Definition at line 895 of file operations.h.
Referenced by loadSettings(), projectToX(), and projectToY().
|
private |
processor containing the 2d result we want to project
Definition at line 886 of file operations.h.
Referenced by loadSettings(), and process().
|
private |
the function used to project the image
Definition at line 903 of file operations.h.
Referenced by loadSettings(), and process().
|
private |
range in X we want to project
Definition at line 889 of file operations.h.
Referenced by loadSettings(), projectToX(), and projectToY().
|
private |
range in Y we want to project
Definition at line 892 of file operations.h.
Referenced by loadSettings(), projectToX(), and projectToY().