33#define H5_USE_18_API_DEFAULT 1
46#include <drain/image/Image.h>
47#include <drain/util/FileInfo.h>
48#include <drain/util/TreeOrdered.h>
50#include "data/ODIMPath.h"
79 return (image.isEmpty() && attributes.empty());
109 typedef std::map<std::string, rack::ODIMPathElem>
lookup_t;
119typedef drain::OrderedTree<hi5::NodeHi5, false, rack::ODIMPath> Hi5Tree;
192 void handleStatus(herr_t status,
const std::string & message,
drain::Logger &mout,
int lineNo=0);
194 template <
int L,
class T>
197 void handleStatus(
drain::Logger &mout, herr_t status,
const std::string & message,
const T & arg,
int lineNo=0){
202 mout.
start<L>() << message <<
": " << arg;
204 mout <<
", line=" << lineNo;
205 mout <<
", status=" << status << mout.endl;
225 hid_t getH5StringVariableLength();
235 void linkPalette(
const Hi5Tree & palette, Hi5Tree & dst);
240 void writeText(
const Hi5Tree &src,
const std::list<typename Hi5Tree::path_t> & paths, std::ostream & ostr = std::cout);
244 void writeText(
const Hi5Tree &src, std::ostream & ostr = std::cout){
245 std::list<typename Hi5Tree::path_t> paths;
256 void readText(Hi5Tree &src, std::istream & istr = std::cin);
273 void parsePath(
const std::string & line, Hi5Tree::path_t & path, std::string & attrKey, std::string & attrValue);
282 void readTextLine(Hi5Tree &src,
const std::string & line);
307std::ostream & operator<<(std::ostream &ostr,
const hi5::NodeHi5 &n);
310std::ostream & operator<<(std::ostream &ostr,
const Hi5Tree & tree);
Handler for notifications sent by a Logger.
Definition Log.h:147
LogSourc e is the means for a function or any program segment to "connect" to a Log.
Definition Log.h:313
Logger & start(const TT &... args)
General.
Definition Log.h:369
void importMap(const std::map< std::string, S > &m)
Assign values from a map, overriding existing entries.
Definition SmartMap.h:255
static void getPaths(const TR &tree, S &container)
Retrieve all the paths.
Definition TreeUtils.h:68
A map of Variables.
Definition VariableMap.h:61
Class for multi-channel digital images. Supports dynamic typing with base types (char,...
Definition Image.h:193
Base class for Reader and Writer, essentially just wrapping some utilities.
Definition Hi5.h:187
static void writeText(const Hi5Tree &src, const std::list< typename Hi5Tree::path_t > &paths, std::ostream &ostr=std::cout)
Dumps the H5 structure, attributes and data properties.
Definition Hi5.cpp:380
static hid_t getH5StandardType(const std::type_info &type)
Give a native C++ type, returns a standard(?) HDF5 data type.
Definition Hi5.cpp:207
static drain::image::Image & getPalette(Hi5Tree &dst)
Creates a 256-element RGB palette to be referenced with linkPalette().
Definition Hi5.cpp:337
static void deleteExcluded(Hi5Tree &src)
Traverse subtree setting exclude=true .
Definition Hi5.cpp:526
static void parsePath(const std::string &line, Hi5Tree::path_t &path, std::string &attrKey, std::string &attrValue)
Split full path string to path object and attribute key.
Definition Hi5.cpp:511
static hid_t getH5NativeDataType()
Given a native C++ type, returns a native HDF5 data type.
Definition Hi5.h:220
static void writeText(const Hi5Tree &src, std::ostream &ostr=std::cout)
Dumps the H5 structure, attributes and data properties. (Calls writeText(src, src....
Definition Hi5.h:244
static void assignAttribute(Hi5Tree &dst, const std::string &assignment)
Definition Hi5.cpp:431
static void linkPalette(const Hi5Tree &palette, Hi5Tree &dst)
Links the palette that has been (or will be) created with createPalette().
Definition Hi5.cpp:372
static void readText(Hi5Tree &src, std::istream &istr=std::cin)
Constructs a tree from formatted text. See writeText().
Definition Hi5.cpp:389
static void readTextLine(Hi5Tree &src, const std::string &line)
Assign a value with optional type specification.
Definition Hi5.cpp:410
unsigned int group_t
In H5, "groups" correspond to directories or folders in file system.
Definition ODIMPath.h:92
Definition DataSelector.cpp:1277
Rack's hi5 structure that uses Rack classes (Tree, Data, Image).
Definition Hi5.h:71
bool exclude
Marker for excluding from any "serious" file write.
Definition Hi5.h:106
std::map< std::string, rack::ODIMPathElem > lookup_t
Experimental.
Definition Hi5.h:109
void writeText(std::ostream &ostr=std::cout, const rack::ODIMPath &prefix=rack::ODIMPath()) const
Definition Hi5.cpp:137