98 BINNING_TYPE = 1 << 0,
99 BIN_SIZE_MODEL = 1 << 1,
100 BIN_SIZE_DIVISOR = 1 << 2,
101 DECIMAL_PLACES = 1 << 3,
102 BINNING_LOGIC_PARTIAL = (BINNING_TYPE | BIN_SIZE_MODEL),
104 (BINNING_LOGIC_PARTIAL | BIN_SIZE_DIVISOR | DECIMAL_PLACES),
105 REMOVE_ZERO_DATA_POINTS = 1 << 4,
106 FULL = (REMOVE_ZERO_DATA_POINTS | BINNING_LOGIC_FULL),
108 Q_ENUM(InitializationResult)
114 BinningType binningType,
118 bool removeZeroValDataPoints,
119 QObject *parent =
nullptr);
124 InitializationResult initialize(
const QString &text);
126 void initialize(
double minMz,
128 BinningType binningType,
132 bool removeZeroValDataPoints,
133 QObject *parent =
nullptr);
139 InitializationResult initialization_results);
141 void setSmallestMz(
double value);
142 void updateSmallestMz(
double value);
143 double getSmallestMz()
const;
145 void setGreatestMz(
double value);
146 void updateGreatestMz(
double value);
147 double getGreatestMz()
const;
149 void setMzValues(
double smallest,
double greatest);
151 void setBinningType(BinningType binningType);
152 BinningType getBinningType()
const;
157 void setBinSizeDivisor(
int divisor);
158 int getBinSizeDivisor()
const;
160 void setIndicativeBinSize(
double value);
161 double getIndicativeBinSize()
const;
163 void setDecimalPlaces(
int decimal_places);
164 int getDecimalPlaces()
const;
166 void setRemoveZeroValDataPoints(
bool removeOrNot =
true);
167 bool isRemoveZeroValDataPoints()
const;
171 bool isValid()
const;
173 bool hasValidMzRange()
const;
175 std::vector<double> createBins();
178 QString toString(
int offset,
const QString &spacer =
" ")
const;
180 QString toString()
const;
181 QString binsToStringWithDeltas(
const std::vector<double> bins)
const;
247 static_cast<uint32_t
>(
a) |
static_cast<uint32_t
>(
b));
255 static_cast<uint32_t
>(
a) &
static_cast<uint32_t
>(
b));
266extern std::map<MzIntegrationParams::BinningType, QString>
binningTypeMap;
The MzIntegrationParams class provides the parameters definining how m/z integrations must be perform...
void binSizeDivisorChanged()
MzIntegrationParams(QObject *parent=nullptr)
void binSizeModelChanged()
double m_indicativeBinSize
BinningType m_binningType
std::vector< double > createDataBasedBinsOld(pappso::MassSpectrumCstSPtr massSpectrum)
std::vector< double > createArbitraryBins()
pappso::PrecisionPtr m_binSizeModel
void indicativeBinSizeChanged()
@ ARBITRARY
binning based on arbitrary bin size value
void decimalPlacesChanged()
void removeZeroValDataPointsChanged()
void binningTypeChanged()
bool m_removeZeroValDataPoints
std::vector< double > createDataBasedBins(pappso::MassSpectrumCstSPtr massSpectrum)
static PrecisionPtr getResInstance(pappso_double value)
get a resolution precision pointer
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
constexpr MzIntegrationParams::InitializationResult operator|=(MzIntegrationParams::InitializationResult &a, MzIntegrationParams::InitializationResult b)
MzIntegrationParams::BinningType getBinningTypeFromString(const QString &text)
std::map< MzIntegrationParams::BinningType, QString > binningTypeMap
Map relating the BinningType to a textual representation.
std::shared_ptr< const MassSpectrum > MassSpectrumCstSPtr
const PrecisionBase * PrecisionPtr
constexpr MzIntegrationParams::InitializationResult operator|(MzIntegrationParams::InitializationResult a, MzIntegrationParams::InitializationResult b)
constexpr MzIntegrationParams::InitializationResult operator&(MzIntegrationParams::InitializationResult a, MzIntegrationParams::InitializationResult b)