35 #ifndef OPENMS_FORMAT_MSNUMPRESSCODER_H 36 #define OPENMS_FORMAT_MSNUMPRESSCODER_H 62 static const std::string NamesOfNumpressCompression[SIZE_OF_NUMPRESSCOMPRESSION];
78 numpressFixedPoint(0.0),
79 numpressErrorTolerance(BinaryDataEncoder_default_numpressErrorTolerance),
81 estimate_fixed_point(false),
82 linear_fp_mass_acc(-1)
95 const std::string* match = std::find(NamesOfNumpressCompression, NamesOfNumpressCompression + SIZE_OF_NUMPRESSCOMPRESSION, compression);
97 if (match == NamesOfNumpressCompression + SIZE_OF_NUMPRESSCOMPRESSION)
99 throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Value '" + compression +
"' is not a valid Numpress compression scheme.");
131 void encodeNP(
const std::vector<double> & in,
String & result,
135 void encodeNP(
const std::vector<float> & in,
String & result,
156 void decodeNP(
const String & in, std::vector<double> & out,
176 void encodeNPRaw(
const std::vector<double> & in,
String & result,
const NumpressConfig & config);
198 void decodeNPRaw(
const std::string & in, std::vector<double> & out,
const NumpressConfig & config);
202 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:55
NumpressCompression np_compression
check error tolerance after encoding, guarantee abs(1.0-(encoded/decoded)) <= this, 0=do not guarantee anything
Definition: MSNumpressCoder.h:73
MSNumpressCoder()
default constructor
Definition: MSNumpressCoder.h:108
A more convenient string class.
Definition: String.h:57
Class to encode and decode Base64.
Definition: Base64.h:64
const double BinaryDataEncoder_default_numpressErrorTolerance
Definition: MSNumpressCoder.h:44
void setCompression(const std::string &compression)
set compression using a string mapping to enum NumpressCompression.
Definition: MSNumpressCoder.h:93
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
Configuration class for MSNumpress.
Definition: MSNumpressCoder.h:69
NumpressCompression
Definition: MSNumpressCoder.h:60
double linear_fp_mass_acc
whether to estimate the fixed point or use the one proved with numpressFixedPoint ...
Definition: MSNumpressCoder.h:75
NumpressConfig()
desired mass accuracy for linear encoding (-1 no effect, use 0.0001 for 0.2 ppm accuracy @ 500 m/z) ...
Definition: MSNumpressCoder.h:77
double numpressFixedPoint
Definition: MSNumpressCoder.h:71
Base64 base64coder_
Definition: MSNumpressCoder.h:204
Exception indicating that an invalid parameter was handed over to an algorithm.
Definition: Exception.h:348
bool estimate_fixed_point
which compression schema to use
Definition: MSNumpressCoder.h:74
virtual ~MSNumpressCoder()
Destructor.
Definition: MSNumpressCoder.h:111
double numpressErrorTolerance
fixed point for numpress algorithms
Definition: MSNumpressCoder.h:72
Definition: MSNumpressCoder.h:60