Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Public Attributes | Related Functions | List of all members
BIAS::MetaData Class Reference

this class collects all additional data chunks of type AppData to be written into/read from an image file More...

#include <Base/Image/MetaData.hh>

+ Inheritance diagram for BIAS::MetaData:
+ Collaboration diagram for BIAS::MetaData:

Public Member Functions

void Add (enum AppData::TAppData ID, unsigned int length, char *data)
 Add a new binary meta datum. More...
 
void Add (AppData &ad)
 
void Add (const std::string &tag, const std::string &data)
 Add a new ascii meta datum. More...
 
void Delete (enum AppData::TAppData tag)
 Delete the meta datum identified by tag. More...
 
void Delete (const std::string &tag)
 Delete the meta datum identified by tag. More...
 
void Dump (std::ostream &os=std::cout)
 dumps this to cout, unfinished piece of code More...
 
int Find (const enum AppData::TAppData tag, AppData &data) const
 searches for tag in binary coded AppDatas. More...
 
int Find (const std::string &tag, AppData &data) const
 searches for tag in ascii coded AppDatas. More...
 
int Find (const enum AppData::TAppData tag, const std::string &stag, AppData &data) const
 cascades Find(enum AppData::TAppData tag, AppData &data) and Find(std::string tag, AppData &data) More...
 
 MetaData ()
 
 MetaData (const MetaData &M)
 
MetaDataoperator= (const MetaData &M)
 
std::ostream & WriteAscii (std::ostream &os) const
 Writes only the meta datas where AppData::tag==MD_USE_ASCII to os. More...
 
std::ostream & WriteBinary (std::ostream &os) const
 Writes only the meta datas where AppData::tag!=MD_USE_ASCII to os. More...
 
 ~MetaData ()
 

Public Attributes

elements
 STL member. More...
 

Related Functions

(Note that these are not member functions.)

BIASImageBase_EXPORT std::ostream & operator<< (std::ostream &is, const MetaData &md)
 Dumb write operator writes everything to os. !!! binary and ascii data are written mixed, if both are present !!! More...
 
BIASImageBase_EXPORT std::istream & operator>> (std::istream &is, MetaData &md)
 Reads from is. Decides whether to read ascii format or binary format. More...
 

Detailed Description

this class collects all additional data chunks of type AppData to be written into/read from an image file

See ExampleMetaData for usage.

Author
woelk 11/2003
Examples:
ExampleMetaData.cpp, ExampleParabola.cpp, ExampleProjectionMapping.cpp, and ExampleTrackerBase.cpp.

Definition at line 121 of file MetaData.hh.

Constructor & Destructor Documentation

MetaData::MetaData ( )

Definition at line 310 of file MetaData.cpp.

BIAS::MetaData::MetaData ( const MetaData M)
inline

Definition at line 126 of file MetaData.hh.

MetaData::~MetaData ( )

Definition at line 314 of file MetaData.cpp.

Member Function Documentation

void MetaData::Add ( enum AppData::TAppData  ID,
unsigned int  length,
char *  data 
)

Add a new binary meta datum.

Replace old binary meta datum if already present. Does not check if corresponding ascii datum is present.

Examples:
ExampleMetaData.cpp.

Definition at line 317 of file MetaData.cpp.

References BIAS::AppData::Clear(), BIAS::AppData::data, Delete(), Find(), BIAS::AppData::length, and BIAS::AppData::tag.

Referenced by BIAS::VideoSource_FFmpeg::GrabSingle(), BIAS::VideoSource_PMD::GrabSourceData(), BIAS::ImageIO::ImportMagickPP(), and BIAS::ImageIO::Save().

void MetaData::Add ( AppData ad)
void MetaData::Add ( const std::string &  tag,
const std::string &  data 
)

Add a new ascii meta datum.

Replace old ascii meta datum if already present. Does not check if corresponding binary datum is present.

Definition at line 347 of file MetaData.cpp.

References BIAS::AppData::CheckFormat(), BIAS::AppData::Clear(), Delete(), Find(), BIAS::AppData::MD_USE_ASCII, BIAS::AppData::sdata, BIAS::AppData::stag, and BIAS::AppData::tag.

void MetaData::Delete ( enum AppData::TAppData  tag)

Delete the meta datum identified by tag.

Does not search for the corresponding ascii meta datum.

Definition at line 417 of file MetaData.cpp.

Referenced by Add().

void MetaData::Delete ( const std::string &  tag)

Delete the meta datum identified by tag.

Does not search for the corresponding binary meta datum.

Definition at line 428 of file MetaData.cpp.

void MetaData::Dump ( std::ostream &  os = std::cout)
int MetaData::Find ( const enum AppData::TAppData  tag,
AppData data 
) const

searches for tag in binary coded AppDatas.

returns: - position in vector if tag is found

       - -2 if tag not found but ascii data present

       - -1 if tag not found and no ascii data present  
Examples:
ExampleMetaData.cpp, ExampleParabola.cpp, and ExampleTrackerBase.cpp.

Definition at line 363 of file MetaData.cpp.

References BIAS::AppData::Clear(), and BIAS::AppData::MD_USE_ASCII.

Referenced by Add(), BIAS::VideoSource_PMD::CalcAmplitudesFromSourceData(), BIAS::VideoSource_PMD::CalcDistancesFromSourceData(), BIAS::VideoSource_PMD::CalcIntensitiesFromSourceData(), Find(), BIAS::IOUtils::GetProjection(), and BIAS::ImageIO::ImportImage().

int MetaData::Find ( const std::string &  tag,
AppData data 
) const

searches for tag in ascii coded AppDatas.

returns: - position in vector if tag is found

       - -2 if tag not found but binary data present

       - -1 if tag not found and no binary data present  

Definition at line 384 of file MetaData.cpp.

References BIAS::AppData::Clear(), BIAS::AppData::MD_Invalid, and BIAS::AppData::MD_USE_ASCII.

int MetaData::Find ( const enum AppData::TAppData  tag,
const std::string &  stag,
AppData data 
) const

cascades Find(enum AppData::TAppData tag, AppData &data) and Find(std::string tag, AppData &data)

Definition at line 408 of file MetaData.cpp.

References Find().

MetaData& BIAS::MetaData::operator= ( const MetaData M)
inline

Definition at line 130 of file MetaData.hh.

ostream & MetaData::WriteAscii ( std::ostream &  os) const

Writes only the meta datas where AppData::tag==MD_USE_ASCII to os.

Definition at line 449 of file MetaData.cpp.

References BIAS::AppData::MD_USE_ASCII.

Referenced by BIAS::OpenEXRInterface::Export(), BIAS::ImageIO::ExportImagePnm_(), and BIAS::ImageIO::ExportMagickPP().

ostream & MetaData::WriteBinary ( std::ostream &  os) const

Writes only the meta datas where AppData::tag!=MD_USE_ASCII to os.

Definition at line 439 of file MetaData.cpp.

References BIAS::AppData::MD_USE_ASCII.

Referenced by BIAS::ImagePackage::AddImage(), BIAS::ImageIO::Write_(), and BIAS::ImageIO::WriteUnbuffered().

Friends And Related Function Documentation

BIASImageBase_EXPORT std::ostream & operator<< ( std::ostream &  is,
const MetaData md 
)
related

Dumb write operator writes everything to os. !!! binary and ascii data are written mixed, if both are present !!!

BIASImageBase_EXPORT std::istream & operator>> ( std::istream &  is,
MetaData md 
)
related

Reads from is. Decides whether to read ascii format or binary format.

Member Data Documentation

T std::vector< T >::elements
inherited

STL member.


The documentation for this class was generated from the following files: