18#include "HiCalTypes.h"
22#include "PvlKeyword.h"
24#include "IException.h"
41 friend std::ostream &operator<<(std::ostream &o,
const Module &c) {
102 const DbProfile &prof,
const int &elements = 0) {
103 LoadCSV csv(csvBase, conf, prof);
105 if (elements != 0) csv.validateSize(elements,
true);
107 return (csv.getVector());
120 const QString keyname =
"ModuleHistory")
131 void Dump(
const QString &fname)
const {
133 QString dumpcFile = dumpc.expanded();
134 std::ofstream ofile(dumpcFile.toLatin1().data(), std::ios::out);
136 QString mess =
"Unable to open/create module dump file " +
147 enum { DefaultWidth = 10, DefaultPrecision = 6};
170 std::ostringstream ostr;
173 return (QString(ostr.str().c_str()));
178 return (QString(ostr.str().c_str()));
184 o <<
"# History = " <<
_history << std::endl;
185 o <<
"# Count = " <<
_data.dim() << std::endl;
186 for (
int i = 0 ; i <
_data.dim() ; i++) {
A DbProfile is a container for access parameters to a database.
File name manipulation and expansion.
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Provides generalized access to HiRISE calibration CSV files.
Module manages HiRISE calibration vectors from various sources.
HiVector _data
Data vector.
double operator()(int index) const
Return individual element of the data vector.
int _fmtPrecision
Default field with of double.
QString getcsvFile() const
Returns expanded name of last CSV file loaded by loadCsv.
HiHistory _history
Hierarchial component history.
virtual void Process(const HiVector &v)
Default processing behavior makes a reference copy of data array.
int size() const
Returns the size (number of elements) of data array.
QString _csvFile
Fully expanded name of CSV file if present.
virtual ~Module()
Destructor.
QString _name
Name of component.
virtual void printOn(std::ostream &o) const
Default printing of data in module.
const HiVector & ref() const
Return data via a const reference.
QString name() const
Returns name of component.
int _fmtWidth
Default field with of double.
virtual void record(PvlGroup &pvl, const QString keyname="ModuleHistory") const
Record history in Pvl group object.
void Dump(const QString &fname) const
Dumps the component to a specified file.
virtual void Process(const Module &c)
Invokes the process method on the Module vector.
const HiHistory & History() const
Return recorded history of events.
HiVector loadCsv(const QString &csvBase, const HiCalConf &conf, const DbProfile &prof, const int &elements=0)
Provide generic loading of CSV file for all modules.
QString formatDbl(const double &value) const
Properly format values that could be special pixels.
Contains multiple PvlContainers.
This is free and unencumbered software released into the public domain.
bool IsSpecial(const double d)
Returns if the input pixel is special.
TNT::Array1D< double > HiVector
1-D Buffer
QString PixelToString(double d, double precision=8)
Takes a double pixel value and returns the name of the pixel type as a string.