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
Collaboration diagram for QxrdPolarTransform:
Collaboration graph

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)


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 ( )

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 {
53  if (expt) {
54  QxrdDataProcessorPtr proc(expt->dataProcessor());
55  QxrdCenterFinderPtr cf(expt->centerFinder());
56  QxrdIntegratorPtr integ(expt->integrator());
58  if (proc && cf) {
59  QcepDoubleImageDataPtr img = proc->data();
60  QcepMaskDataPtr mask = proc->mask();
64  expt, integ, sharedFromThis(), cf));
66  QcepDatasetModelPtr ds = expt->dataset();
68  QcepDoubleImageDataPtr res = ds->image(get_Destination());
70  if (res == NULL) {
71  res = ds->newImage(get_Destination());
72  }
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 {
42  if (expt) {
43  res = expt->integrator();
44  }
46  return res;
47 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QxrdExperimentWPtr m_Experiment
QWeakPointer< QxrdIntegrator > QxrdIntegratorWPtr

Member Data Documentation

QxrdExperimentWPtr QxrdPolarTransform::m_Experiment

Definition at line 80 of file qxrdpolartransform.h.

Referenced by execute(), and integrator().

QxrdIntegratorCachePtr QxrdPolarTransform::m_IntegratorCache

Definition at line 81 of file qxrdpolartransform.h.

Referenced by execute().

QMutex QxrdPolarTransform::m_Mutex

Definition at line 78 of file qxrdpolartransform.h.

QcepSettingsSaverWPtr QxrdPolarTransform::m_Saver

Definition at line 79 of file qxrdpolartransform.h.

Property Documentation

QString QxrdPolarTransform::destination

Definition at line 29 of file qxrdpolartransform.h.

bool QxrdPolarTransform::enableGeometricCorrections

Definition at line 38 of file qxrdpolartransform.h.

bool QxrdPolarTransform::enablePolarizationCorrections

Definition at line 41 of file qxrdpolartransform.h.

int QxrdPolarTransform::outputType

Definition at line 32 of file qxrdpolartransform.h.

int QxrdPolarTransform::oversample

Definition at line 35 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarEnd

Definition at line 59 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarization

Definition at line 44 of file qxrdpolartransform.h.

int QxrdPolarTransform::polarNSteps

Definition at line 53 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarStart

Definition at line 56 of file qxrdpolartransform.h.

double QxrdPolarTransform::polarStep

Definition at line 50 of file qxrdpolartransform.h.

int QxrdPolarTransform::polarUnits

Definition at line 47 of file qxrdpolartransform.h.

double QxrdPolarTransform::radialEnd

Definition at line 74 of file qxrdpolartransform.h.

int QxrdPolarTransform::radialNSteps

Definition at line 68 of file qxrdpolartransform.h.

double QxrdPolarTransform::radialStart

Definition at line 71 of file qxrdpolartransform.h.

double QxrdPolarTransform::radialStep

Definition at line 65 of file qxrdpolartransform.h.

int QxrdPolarTransform::radialUnits

Definition at line 62 of file qxrdpolartransform.h.

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