Structure for data storage type, scaling and marker codes. Does not contain quantity.
More...
|
|
| EncodingODIM (group_t initialize=ODIMPathElem::ALL_LEVELS) |
| | Default constructor.
|
| |
|
| EncodingODIM (const EncodingODIM &odim) |
| | Copy constructor.
|
| |
| | EncodingODIM (char type, double scale=1.0, double offset=NAN, double nodata=NAN, double undetect=NAN, const drain::Range< double > &range={0, 0}) |
| | Scale driven encoding for brace inits. RISK: group_t confusion?
|
| |
| | EncodingODIM (char type, const drain::Range< double > &range, double scale=0.0, double offset=NAN, double nodata=NAN, double undetect=NAN) |
| | Range-driven encoding for brace inits.
|
| |
|
| EncodingODIM (const drain::image::Image &image) |
| |
|
| EncodingODIM (drain::image::Image &image) |
| |
|
EncodingODIM & | operator= (const EncodingODIM &odim) |
| |
|
| operator drain::ValueScaling & () |
| |
|
| operator const drain::ValueScaling & () const |
| |
|
EncodingODIM & | setScaling (double gain, double offset=NAN) |
| |
|
EncodingODIM & | setScaling (double gain, double offset, double undetect, double nodata) |
| |
|
bool | isSet () const |
| |
|
void | setRange (double min, double max) |
| |
|
void | setType (const std::type_info &type) |
| | Complete with setTypeDefaults()
|
| |
|
template<class T > |
| void | setTypeDefaults (const T &type, const std::string &values="") |
| | Sets gain=1, offset=0, undetect=type_min, nodata=type_max. Note: sets type only if unset.
|
| |
|
void | setTypeDefaults () |
| |
|
bool | isValue (double x) const |
| | Returns true for a valid measurement value, false for undetect and nodata marker values.
|
| |
|
double | scaleForward (double x) const |
| | Converts a quantity from storage scale: y = offset + gain*y .
|
| |
|
double | scaleInverse (double y) const |
| | Converts a quantity to storage scale: x = (y-offset)/gain .
|
| |
|
double | getMin () const |
| | Returns the minimum physical value that can be returned using current storage type, gain and offset.
|
| |
|
double | getMax () const |
| | Returns the minimum physical value that can be returned using current storage type, gain and offset.
|
| |
|
double | operator() (double y) const |
| | Functor (why inverse?)
|
| |
| void | clear () |
| | Resets the values.
|
| |
| virtual void | updateLenient (const EncodingODIM &odim) |
| | Todo: keep the function, but move implementation to (future single-exec) register ?
|
| |
|
void | grantShortKeys (drain::ReferenceMap &ref) |
| | Creates a short alias (attrib) for each (group):(attrib). Example: "gain" => "what:gain".
|
| |
|
void | addShortKeys () |
| | Creates a short alias (attrib) for each (group):(attrib). Example: "gain" => "what:gain".
|
| |
| void | copyFrom (const drain::image::Image &data) |
| | Copies image attributes and type . Experimental.
|
| |
| | ReferenceMap (char separator=',') |
| | Default constructor.
|
| |
| | ReferenceMap (const ReferenceMap &rmap) |
| | Copy constructor copies only the separators; does not copy the items.
|
| |
|
template<class F > |
| Reference & | link (const std::string &key, Range< F > &x, const std::string &unit=std::string()) |
| |
| template<class F > |
| Reference & | link (const std::string &key, F &x, const std::string &unit=std::string()) |
| | Associates a map entry with a variable.
|
| |
|
Reference & | link (const std::string &key, Reference &x, const std::string &unit=std::string()) |
| |
|
Reference & | link (const std::string &key, void *ptr, const std::type_info &type, size_t count, const std::string &unit=std::string()) |
| | For arrays.
|
| |
|
Reference & | link (const std::string &key, void *ptr, const std::type_info &type, const std::string &unit=std::string()) |
| | Convenience: create a reference to a scalar. For arrays, use the.
|
| |
| template<class F > |
| Reference & | referenceTop (const std::string &key, F &x, const std::string &unit=std::string()) |
| | Associates a map entry with a variable, adding key in the beginning of key list.
|
| |
|
void | append (ReferenceMap &rMap, bool replace=true) |
| | Adopts the references of r. If replace==false, only new entries are appended.
|
| |
|
void | delink (const std::string &key) |
| | Removes an entry from the map.
|
| |
| void | reserve (const std::string &key) |
| | Adds a null entry, expecting the link later.
|
| |
| template<class T > |
| void | copyStruct (const ReferenceMap &m, const T &src, T &dst, extLinkPolicy policy=RESERVE) |
| | Experimental. Copies references and values of a structure to another.
|
| |
|
template<class T > |
| ReferenceMap & | operator= (const SmartMap< T > &v) |
| | Import map, adopting the element types.
|
| |
| virtual mapped_type & | operator[] (const std::string &key) |
| | Return element associated with key.
|
| |
| virtual const mapped_type & | operator[] (const std::string &key) const |
| | Calling unreferenced key throws an exception.
|
| |
|
const unitmap_t & | getUnitMap () const |
| | Returns measurement unit information of the actual map entries.
|
| |
| | SmartMap (char separator='\0', char arraySeparator=':') |
| |
|
| SmartMap (const SmartMap &smap) |
| |
|
bool | hasKey (const std::string &key) const |
| |
| std::string | get (const std::string &key, const std::string &defaultValue) const |
| | Retrieves a value, or default value if value is unset.
|
| |
|
std::string | get (const std::string &key, const char *defaultValue) const |
| |
| T2 | get (const std::string &key, const T2 &defaultValue) const |
| | Retrieves a value, if set, else returns the given default value.
|
| |
|
virtual const keylist_t & | getKeyList () const |
| | Derived versions may produce an ordered set of keys.
|
| |
| const map_t & | getMap () const |
| |
|
void | exportMap (std::map< std::string, T2 > &m) const |
| | Copies the contents to another map.
|
| |
| void | importEntries (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
| | Assigns a value to given key; if the entry does not exist, tries to create it with directly with operator[].
|
| |
| void | importEntries (const std::list< std::string > &entries, char assignmentSymbol='=') |
| |
| void | importMap (const std::map< std::string, S > &m) |
| | Assign values from a map, overriding existing entries.
|
| |
| void | importCastableMap (const drain::SmartMap< T2 > &m) |
| | Assign values from a map, possibly extending the map.
|
| |
| void | updateFromMap (const std::map< std::string, T2 > &m) |
| | Assign values from a map. Updates existing entries only.
|
| |
|
void | updateFromCastableMap (const drain::SmartMap< T2 > &m) |
| | Convenience.
|
| |
|
void | setValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
| | Sets values. If strictness==STRICTLY_CLOSED, throws exception if tries to assign a non-existing entry.
|
| |
|
void | setValues (const char *entries, char assignmentSymbol='=', char separatorSymbol=0) |
| |
|
void | setValuesSEQ (const S &sequence) |
| |
|
void | updateValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
| | Sets applicable values ie. modifies existing entries only. In ordered maps, skips extra entries silently.
|
| |
|
void | getKeys (std::ostream &ostr) const |
| |
|
std::string | getKeys () const |
| | Convenience function for std::string output.
|
| |
|
void | getValues (std::ostream &ostr) const |
| | Dumps the values.
|
| |
|
std::string | getValues () const |
| | Convenience function for std::string output.
|
| |
|
std::ostream & | toStream (std::ostream &ostr, char equal='=', char startChar='{', char endChar='}', char separatorChar=',') const |
| | Note: parameters discarded.
|
| |
|
std::string | toStr (char equal='=', char start=0, char end=0, char separator=0) const |
| |
| void | dump (std::ostream &ostr=std::cout) const |
| | Write map as a JSON code.
|
| |
Structure for data storage type, scaling and marker codes. Does not contain quantity.
Within each ODIM class, each variable should have
- name
- type
- group/name
- dataset/group/name
The scope for variables extends "down to the data array". Ie.
Common interface:
- operator[](toStr)
- Class specific members:
- native variables (double, long int, std::string)
Typically used in creating and writing a product.
See also: LinearScaling (could be used as base class?)