78 SIZE_OF_NUMPRESSCOMPRESSION
80 static const std::string NamesOfNumpressCompression[SIZE_OF_NUMPRESSCOMPRESSION];
96 numpressFixedPoint(0.0),
99 estimate_fixed_point(true),
100 linear_fp_mass_acc(-1)
113 const std::string* match =
std::find(NamesOfNumpressCompression, NamesOfNumpressCompression + SIZE_OF_NUMPRESSCOMPRESSION, compression);
115 if (match == NamesOfNumpressCompression + SIZE_OF_NUMPRESSCOMPRESSION)
117 throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Value '" + compression +
"' is not a valid Numpress compression scheme.");
149 void encodeNP(
const std::vector<double> & in,
String & result,
150 bool zlib_compression,
const NumpressConfig & config);
153 void encodeNP(
const std::vector<float> & in,
String & result,
154 bool zlib_compression,
const NumpressConfig & config);
174 void decodeNP(
const String & in, std::vector<double> & out,
175 bool zlib_compression,
const NumpressConfig & config);
194 void encodeNPRaw(
const std::vector<double> & in,
String & result,
const NumpressConfig & config);
216 void decodeNPRaw(
const std::string & in, std::vector<double> & out,
const NumpressConfig & config);
220 void decodeNPInternal_(
const unsigned char* in,
size_t in_size, std::vector<double>& out,
const NumpressConfig & config);
Class to encode and decode data encoded with MSNumpress.
Definition: MSNumpressCoder.h:67
NumpressCompression np_compression
which compression schema to use
Definition: MSNumpressCoder.h:91
MSNumpressCoder()
default constructor
Definition: MSNumpressCoder.h:126
A more convenient string class.
Definition: String.h:58
Pic (MS:1002313, MS-Numpress positive integer compression)
Definition: MSNumpressCoder.h:76
Linear (MS:1002312, MS-Numpress linear prediction compression)
Definition: MSNumpressCoder.h:75
const double BinaryDataEncoder_default_numpressErrorTolerance
Definition: MSNumpressCoder.h:45
void setCompression(const std::string &compression)
set compression using a string mapping to enum NumpressCompression.
Definition: MSNumpressCoder.h:111
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
Configuration class for MSNumpress.
Definition: MSNumpressCoder.h:87
bool find(TFinder &finder, const Pattern< TNeedle, FuzzyAC > &me, PatternAuxData< TNeedle > &dh)
Definition: AhoCorasickAmbiguous.h:884
NumpressCompression
Names of compression schemes.
Definition: MSNumpressCoder.h:73
double linear_fp_mass_acc
desired mass accuracy for *linear* encoding (-1 no effect, use 0.0001 for 0.2 ppm accuracy @ 500 m/z)...
Definition: MSNumpressCoder.h:93
NumpressConfig()
Definition: MSNumpressCoder.h:95
double numpressFixedPoint
fixed point for numpress algorithms
Definition: MSNumpressCoder.h:89
Exception indicating that an invalid parameter was handed over to an algorithm.
Definition: Exception.h:347
bool estimate_fixed_point
whether to estimate the fixed point or use the one proved with numpressFixedPoint ...
Definition: MSNumpressCoder.h:92
virtual ~MSNumpressCoder()
Destructor.
Definition: MSNumpressCoder.h:129
No compression is applied.
Definition: MSNumpressCoder.h:74
double numpressErrorTolerance
check error tolerance after encoding, guarantee abs(1.0-(encoded/decoded)) <= this, 0=do not guarantee anything
Definition: MSNumpressCoder.h:90
Slof (MS:1002314, MS-Numpress short logged float compression)
Definition: MSNumpressCoder.h:77