QXRD  0.11.16
Public Member Functions | Properties | Private Attributes | List of all members
QxrdPolarTransform Class Reference

#include <qxrdpolartransform.h>

Inheritance diagram for QxrdPolarTransform:
Inheritance graph
[legend]
Collaboration diagram for QxrdPolarTransform:
Collaboration graph
[legend]

Public Member Functions

 QxrdPolarTransform (QcepSettingsSaverWPtr saver, QxrdExperimentWPtr exp)
 
virtual ~QxrdPolarTransform ()
 
QxrdIntegratorWPtr integrator () const
 
void execute ()
 
- Public Member Functions inherited from QcepObject
 QcepObject (QString name, QcepObject *parent)
 
virtual ~QcepObject ()
 
virtual void writeSettings (QSettings *set, QString section)
 
virtual void readSettings (QSettings *set, QString section)
 
QString get_Name () const
 
void set_Name (QString name)
 

Properties

QString destination
 
int outputType
 
int oversample
 
bool enableGeometricCorrections
 
bool enablePolarizationCorrections
 
double polarization
 
int polarUnits
 
double polarStep
 
int polarNSteps
 
double polarStart
 
double polarEnd
 
int radialUnits
 
double radialStep
 
int radialNSteps
 
double radialStart
 
double radialEnd
 
- Properties inherited from QcepObject
QString name
 

Private Attributes

QMutex m_Mutex
 
QcepSettingsSaverWPtr m_Saver
 
QxrdExperimentWPtr m_Experiment
 
QxrdIntegratorCachePtr m_IntegratorCache
 

Additional Inherited Members

- Public Slots inherited from QcepObject
virtual void printLine (QString line)
 
virtual void printMessage (QString msg, QDateTime dt=QDateTime::currentDateTime()) const
 
virtual void criticalMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual void statusMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual QString settingsScript ()
 
QString scriptValueLiteral (QVariant v)
 
- Static Public Member Functions inherited from QcepObject
static int allocatedObjects ()
 
static int deletedObjects ()
 
static QSet< QcepObject * > allocatedObjectsSet ()
 
static QString addSlashes (QString str)
 

Detailed Description

Definition at line 15 of file qxrdpolartransform.h.

Constructor & Destructor Documentation

QxrdPolarTransform::QxrdPolarTransform ( QcepSettingsSaverWPtr  saver,
QxrdExperimentWPtr  exp 
)

Definition at line 9 of file qxrdpolartransform.cpp.

9  :
10  QcepObject("polarTransform", NULL),
11  m_Destination(saver, this, "destination", "Polar/image", "Destination for polar transform"),
12  m_OutputType(saver, this, "outputType", 3, "Output type 0=none, 1=data, 2=radial plot, 3=polar plot"),
13  m_Oversample(saver, this, "oversample", 1, "Oversample factor"),
14  m_EnableGeometricCorrections(saver, this, "enableGeometricCorrections", false, "Enable Geometric Corrections (tilt and distance) in Integration"),
15  m_EnablePolarizationCorrections(saver, this, "enablePolarizationCorrections", false, "Enable Polarization Corrections in Integration"),
16  m_Polarization(saver, this, "polarization", 1.0, "Beam Polarization Factor"),
17  m_PolarUnits(saver, this, "polarUnits", QxrdIntegrator::PolarIntegrateChi, "Polar Integration Type (0=Angle)"),
18  m_PolarStep(saver, this, "polarStep", 0.5, "Polar Integration Step Size"),
19  m_PolarNSteps(saver, this, "polarNSteps", 0, "Polar Integration Number of Steps"),
20  m_PolarStart(saver, this, "polarStart", 0, "Polar Integration Start"),
21  m_PolarEnd(saver, this, "polarEnd", 360, "Polar Integration End"),
22  m_RadialUnits(saver, this, "radialUnits", QxrdIntegrator::RadialIntegrateTTH, "Radial Units for Integration (0 = TTH, 1 = Q, 2 = R)"),
23  m_RadialStep(saver, this, "radialStep", 0.001, "Radial Integration Step Size"),
24  m_RadialNSteps(saver, this, "radialNSteps", 0, "Radial Integration Number of Steps"),
25  m_RadialStart(saver, this, "radialStart", 0, "Radial Integration Start"),
26  m_RadialEnd(saver, this, "radialEnd", 100000, "Radial Integration End"),
27  m_Saver(saver),
28  m_Experiment(exp)
29 {
30 }
QcepSettingsSaverWPtr m_Saver
QcepObject(QString name, QcepObject *parent)
Definition: qcepobject.cpp:16
QxrdExperimentWPtr m_Experiment
QxrdPolarTransform::~QxrdPolarTransform ( )
virtual

Definition at line 32 of file qxrdpolartransform.cpp.

33 {
34 }

Member Function Documentation

void QxrdPolarTransform::execute ( )

Definition at line 49 of file qxrdpolartransform.cpp.

References m_Experiment, and m_IntegratorCache.

50 {
52 
53  if (expt) {
54  QxrdDataProcessorPtr proc(expt->dataProcessor());
55  QxrdCenterFinderPtr cf(expt->centerFinder());
56  QxrdIntegratorPtr integ(expt->integrator());
57 
58  if (proc && cf) {
59  QcepDoubleImageDataPtr img = proc->data();
60  QcepMaskDataPtr mask = proc->mask();
61 
64  expt, integ, sharedFromThis(), cf));
65 
66  QcepDatasetModelPtr ds = expt->dataset();
67 
68  QcepDoubleImageDataPtr res = ds->image(get_Destination());
69 
70  if (res == NULL) {
71  res = ds->newImage(get_Destination());
72  }
73 
74  m_IntegratorCache->performIntegration(res, img, mask, 0);
75  }
76  }
77 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QSharedPointer< QxrdCenterFinder > QxrdCenterFinderPtr
QSharedPointer< QxrdIntegratorCache > QxrdIntegratorCachePtr
QSharedPointer< QxrdDataProcessor > QxrdDataProcessorPtr
QSharedPointer< QxrdIntegrator > QxrdIntegratorPtr
QxrdExperimentWPtr m_Experiment
QxrdIntegratorCachePtr m_IntegratorCache
QSharedPointer< QcepMaskData > QcepMaskDataPtr
QSharedPointer< QcepDatasetModel > QcepDatasetModelPtr
QSharedPointer< QcepDoubleImageData > QcepDoubleImageDataPtr
QxrdIntegratorWPtr QxrdPolarTransform::integrator ( ) const

Definition at line 36 of file qxrdpolartransform.cpp.

References m_Experiment.

37 {
39 
41 
42  if (expt) {
43  res = expt->integrator();
44  }
45 
46  return res;
47 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QxrdExperimentWPtr m_Experiment
QWeakPointer< QxrdIntegrator > QxrdIntegratorWPtr

Member Data Documentation

QxrdExperimentWPtr QxrdPolarTransform::m_Experiment
private

Definition at line 80 of file qxrdpolartransform.h.

Referenced by execute(), and integrator().

QxrdIntegratorCachePtr QxrdPolarTransform::m_IntegratorCache
private

Definition at line 81 of file qxrdpolartransform.h.

Referenced by execute().

QMutex QxrdPolarTransform::m_Mutex
mutableprivate

Definition at line 78 of file qxrdpolartransform.h.

QcepSettingsSaverWPtr QxrdPolarTransform::m_Saver
private

Definition at line 79 of file qxrdpolartransform.h.

Property Documentation

QString QxrdPolarTransform::destination
readwrite

Definition at line 29 of file qxrdpolartransform.h.

bool QxrdPolarTransform::enableGeometricCorrections
readwrite

Definition at line 38 of file qxrdpolartransform.h.

bool QxrdPolarTransform::enablePolarizationCorrections
readwrite

Definition at line 41 of file qxrdpolartransform.h.

int QxrdPolarTransform::outputType
readwrite

Definition at line 32 of file qxrdpolartransform.h.

int QxrdPolarTransform::oversample
readwrite

Definition at line 35 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarEnd
readwrite

Definition at line 59 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarization
readwrite

Definition at line 44 of file qxrdpolartransform.h.

int QxrdPolarTransform::polarNSteps
readwrite

Definition at line 53 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarStart
readwrite

Definition at line 56 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarStep
readwrite

Definition at line 50 of file qxrdpolartransform.h.

int QxrdPolarTransform::polarUnits
readwrite

Definition at line 47 of file qxrdpolartransform.h.

double QxrdPolarTransform::radialEnd
readwrite

Definition at line 74 of file qxrdpolartransform.h.

int QxrdPolarTransform::radialNSteps
readwrite

Definition at line 68 of file qxrdpolartransform.h.

double QxrdPolarTransform::radialStart
readwrite

Definition at line 71 of file qxrdpolartransform.h.

double QxrdPolarTransform::radialStep
readwrite

Definition at line 65 of file qxrdpolartransform.h.

int QxrdPolarTransform::radialUnits
readwrite

Definition at line 62 of file qxrdpolartransform.h.


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