66 auto basicAxis = addProperty<BasicAxisItem>(
P_XAXIS);
69 basicAxis = addProperty<BasicAxisItem>(
P_YAXIS);
72 auto amplitudeAxis = addProperty<AmplitudeAxisItem>(
P_ZAXIS);
86 ASSERT(data &&
"Assertion failed in IntensityDataItem::setOutputData: nullptr data passed");
87 if (data->
rank() != 2)
89 "Error in IntensityDataItem::setOutputData: cannot handle non-2D data");
121 const double defaultXmin(0.0);
122 return m_data ?
m_data->axis(0).lowerBound() : defaultXmin;
127 const double defaultXmax(1.0);
128 return m_data ?
m_data->axis(0).upperBound() : defaultXmax;
143 const double defaultYmin(0.0);
144 return m_data ?
m_data->axis(1).lowerBound() : defaultYmin;
149 const double defaultYmax(1.0);
150 return m_data ?
m_data->axis(1).upperBound() : defaultYmax;
314 const int nx =
static_cast<int>(
m_data->axis(0).size());
316 const int ny =
static_cast<int>(
m_data->axis(1).size());
343 QPair<double, double> minmax =
dataRange();
351 double min(*std::min_element(data->
begin(), data->
end()));
352 double max(*std::max_element(data->
begin(), data->
end()));
365 return QPair<double, double>(min, max);
370 return item<BasicAxisItem>(
P_XAXIS);
375 return item<BasicAxisItem>(
P_XAXIS);
380 return item<BasicAxisItem>(
P_YAXIS);
385 return item<BasicAxisItem>(
P_YAXIS);
390 return item<AmplitudeAxisItem>(
P_ZAXIS);
395 return item<AmplitudeAxisItem>(
P_ZAXIS);
#define ASSERT(condition)
Defines various axis items.
Defines class GUIHelpers functions.
Defines ImportDataUtils namespace.
const QString y_axis_default_name
const QString x_axis_default_name
Defines class IntensityDataItem.
Defines class JobItemUtils.
Defines MaskItems classes.
Defines class MaskUnitsConverter.
Defines items related to projections over color map.
static const QString P_LOCK_MIN_MAX
void setLogScale(bool value)
void setBinCount(int value)
static const QString P_NBINS
double upperBound() const
double lowerBound() const
void setLowerBound(double value)
void setUpperBound(double value)
void setTitle(const QString &title)
Custom property to define list of string values with multiple selections.
QVariant variant() const
Constructs variant enclosing given ComboProperty.
void setValue(const QString &name)
Provides common functionality for IntensityDataItem and SpecularDataItem.
OutputData< double > * getOutputData()
virtual void setOutputData(OutputData< double > *data)=0
The given pointer becomes owned by this class!!
static const QString P_AXES_UNITS
std::unique_ptr< OutputData< double > > m_data
simulation results
Carries information about loaded data.
QString unitsLabel() const
QString axisLabel(size_t axis_index) const
void setLowerX(double value)
std::vector< int > shape() const override
static const QString P_ZAXIS
static const QString P_YAXIS
static const QString T_PROJECTIONS
void setXaxisTitle(const QString &title) override
void setYaxisTitle(const QString &title) override
double getLowerZ() const
returns lower and upper zoom ranges of z-axis
bool hasProjections() const
static const QString P_PROJECTIONS_FLAG
QString getGradient() const
static const QString P_TITLE
MaskContainerItem * maskContainerItem()
void updateAxesZoomLevel()
Sets zoom range of X,Y axes, if it was not yet defined.
double getYmin() const
returns min and max range of y-axis as given by IntensityData
const AmplitudeAxisItem * zAxisItem() const
QPair< double, double > dataRange() const
Init zmin, zmax to match the intensity values range.
static const QString P_XAXIS
QString getXaxisTitle() const
void setLowerY(double value)
void setLowerAndUpperZ(double zmin, double zmax)
void setUpperZ(double zmax)
bool isZAxisLocked() const
return true if min, max range of Z-axis is locked (change not allowed)
void setAxesRangeToData() override
set zoom range of x,y axes to axes of input data
void setLowerZ(double zmin)
double getLowerY() const
returns lower and upper zoom ranges of y-axis
static const QString P_GRADIENT
void reset(ImportDataInfo data) override
Returns data to the state defined by user (imported) data.
void resetView()
Set axes viewport to original data.
const BasicAxisItem * yAxisItem() const
void setInterpolated(bool interp)
void setUpperX(double value)
QString getYaxisTitle() const
double getXmin() const
returns min and max range of x-axis as given by IntensityData
void updateDataRange()
Sets min,max values for z-axis, if axes is not locked, and ranges are not yet set.
const BasicAxisItem * xAxisItem() const
bool isInterpolated() const
void setUpperY(double value)
double getLowerX() const
returns lower and upper zoom ranges of x-axis
void setOutputData(OutputData< double > *data) override
The given pointer becomes owned by this class!!
ProjectionContainerItem * projectionContainerItem()
static const QString T_MASKS
void updateAxesLabels()
Init axes labels, if it was not done already.
void updateAxesUnits(const InstrumentItem *instrument) override
static const QString P_IS_INTERPOLATED
void setZAxisLocked(bool state)
Container holding various masks as children.
The MaskUnitsConverter converts coordinates of all masks from one units to anoter.
void convertToNbins(IntensityDataItem *intensityData)
Converts all masks on board of IntensityDataItem into bin-fraction coordinates.
void convertFromNbins(IntensityDataItem *intensityData)
Converts all masks on board of IntensityDataItem from bin-fraction coordinates to coordinates of axes...
iterator end()
Returns read/write iterator that points to the one past last element.
size_t rank() const
Returns number of dimensions.
iterator begin()
Returns read/write iterator that points to the first element.
A container to hold ProjectionItems, intended to store projections of color map on X,...
SessionItem * addProperty(const QString &name, const QVariant &variant)
Add new property item and register new tag.
bool registerTag(const QString &name, int min=0, int max=-1, QStringList modelTypes={})
Add new tag to this item with given name, min, max and types.
QVariant value() const
Get value.
void setVisible(bool enabled)
Flags accessors.
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
void setDefaultTag(const QString &tag)
Set default tag.
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
void emitDataChanged(int role=Qt::DisplayRole)
Notify model about data changes.
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.
bool hasChildren() const
Indicates whether this SessionItem has any child items.
void updateDataAxes(DataItem *intensityItem, const InstrumentItem *instrumentItem)
updates axes of OutputData in IntensityData item