Isis 3 Programmer Reference
Isis::ZeroBufferSmooth Class Reference

Processes Buffer calibration data (ZeroBufferSmooth Module) More...

#include <ZeroBufferSmooth.h>

Inheritance diagram for Isis::ZeroBufferSmooth:
Inheritance graph
Collaboration diagram for Isis::ZeroBufferSmooth:
Collaboration graph

Public Member Functions

 ZeroBufferSmooth (HiCalData &cal, const HiCalConf &conf)
 Construct with data parameters. More...
 
virtual ~ZeroBufferSmooth ()
 Destructor. More...
 
const StatisticsStats () const
 Return statistics for filtered - raw Buffer. More...
 
QString name () const
 Returns name of component. More...
 
QString getcsvFile () const
 Returns expanded name of last CSV file loaded by loadCsv. More...
 
int size () const
 Returns the size (number of elements) of data array. More...
 
virtual void Process (const Module &c)
 Invokes the process method on the Module vector. More...
 
virtual void Process (const HiVector &v)
 Default processing behavior makes a reference copy of data array. More...
 
HiVector loadCsv (const QString &csvBase, const HiCalConf &conf, const DbProfile &prof, const int &elements=0)
 Provide generic loading of CSV file for all modules. More...
 
const HiVectorref () const
 Return data via a const reference. More...
 
double operator() (int index) const
 Return individual element of the data vector. More...
 
const HiHistoryHistory () const
 Return recorded history of events. More...
 
virtual void record (PvlGroup &pvl, const QString keyname="ModuleHistory") const
 Record history in Pvl group object. More...
 
void Dump (const QString &fname) const
 Dumps the component to a specified file. More...
 

Protected Types

enum  { DefaultWidth = 10, DefaultPrecision = 6 }
 

Protected Member Functions

QString formatDbl (const double &value) const
 Properly format values that could be special pixels. More...
 

Protected Attributes

QString _name
 Name of component. More...
 
QString _csvFile
 Fully expanded name of CSV file if present. More...
 
HiVector _data
 Data vector. More...
 
HiHistory _history
 Hierarchial component history. More...
 
int _fmtWidth
 Default field with of double. More...
 
int _fmtPrecision
 Default field with of double. More...
 

Private Member Functions

void init (HiCalData &cal, const HiCalConf &conf)
 Workhorse of the zero buffer computation. More...
 
virtual void printOn (std::ostream &o) const
 Virtualized parameter reporting method. More...
 

Private Attributes

HiVector _buffer
 
Statistics _stats
 

Detailed Description

Processes Buffer calibration data (ZeroBufferSmooth Module)

This class loads and processes the Buffer data from a HiRISE image for drift correction purposes. The config file contains parameter (ZfFirstSample, ZfLastSample) that indicate which regions of the calibration buffer to extract/use. This region is averaged across the line axis for each line resulting in a single value for each line. The resulting vector is then filtered with a lowpass filter. The filter width (ZfFilterWidth) and number of interations (ZfFilterIterations) are contained within the config file. A spline fit is applied if any missing data remain after filtering.

Author
2008-06-10 Kris Becker
History:

2010-04-16 Kris Becker Completed documentation

2010-10-28 Kris Becker Renamed parameters removing the "Zf" prefix and replacing with "ZeroBufferSmooth".

Definition at line 67 of file ZeroBufferSmooth.h.

Constructor & Destructor Documentation

◆ ZeroBufferSmooth()

Isis::ZeroBufferSmooth::ZeroBufferSmooth ( HiCalData cal,
const HiCalConf &  conf 
)
inline

Construct with data parameters.

This constructor completely computes drift from data collected in a HiRISE image

Parameters
calCalibration data collection
confAll necessary parameters for computations

Definition at line 81 of file ZeroBufferSmooth.h.

References init().

◆ ~ZeroBufferSmooth()

virtual Isis::ZeroBufferSmooth::~ZeroBufferSmooth ( )
inlinevirtual

Destructor.

Definition at line 87 of file ZeroBufferSmooth.h.

Member Function Documentation

◆ Dump()

void Isis::Module::Dump ( const QString &  fname) const
inlineinherited

Dumps the component to a specified file.

Parameters
fnameName of file to dump contents to

Definition at line 146 of file Module.h.

References _FILEINFO_, Isis::FileName::expanded(), and Isis::IException::User.

◆ formatDbl()

QString Isis::Module::formatDbl ( const double &  value) const
inlineprotectedinherited

Properly format values that could be special pixels.

This method applies ISIS special pixel value conventions to properly print pixel values.

Parameters
[in](double)value Input value to test for specialness and print as requested by caller
[in](int)width Width of field in which to print the value
[in](int)prec Precision used to format the value
Returns
(string) Formatted double value

Definition at line 184 of file Module.h.

References Isis::Module::_fmtPrecision, Isis::Module::_fmtWidth, Isis::IsSpecial(), and Isis::PixelToString().

Referenced by printOn(), Isis::ZeroBufferFit::printOn(), Isis::ZeroDark::printOn(), Isis::ZeroReverse::printOn(), and Isis::Module::printOn().

◆ getcsvFile()

QString Isis::Module::getcsvFile ( ) const
inlineinherited

Returns expanded name of last CSV file loaded by loadCsv.

Definition at line 86 of file Module.h.

References Isis::Module::_csvFile.

◆ History()

const HiHistory& Isis::Module::History ( ) const
inlineinherited

Return recorded history of events.

Definition at line 131 of file Module.h.

References Isis::Module::_history.

Referenced by Isis::ZeroReverse::init(), and init().

◆ init()

void Isis::ZeroBufferSmooth::init ( HiCalData cal,
const HiCalConf &  conf 
)
inlineprivate

Workhorse of the zero buffer computation.

The default module, assumed to be the Zf module, is retrieved to provide parameter necessary to compute the drift correction for a HiRISE image.

Parameters
calCalibration data container/provider
confConfiguration parameter provider

Definition at line 111 of file ZeroBufferSmooth.h.

References Isis::Module::_data, Isis::Module::_history, Isis::Statistics::AddData(), Isis::Statistics::Average(), Isis::averageSamples(), Isis::ConfKey(), Isis::Module::History(), Isis::IsSpecial(), Isis::DbProfile::Name(), Isis::Module::ref(), Isis::Statistics::Reset(), Isis::Statistics::StandardDeviation(), Isis::toInt(), and Isis::ToString().

Referenced by ZeroBufferSmooth().

◆ loadCsv()

HiVector Isis::Module::loadCsv ( const QString &  csvBase,
const HiCalConf &  conf,
const DbProfile prof,
const int &  elements = 0 
)
inlineinherited

Provide generic loading of CSV file for all modules.

This method provides generalized access to CSV files through the standardized format.

Author
Kris Becker - 4/16/2010
Parameters
cvsBaseName of base keyword for CSV file
confConfiguration parameters
profModule profile parameters
samplesNumber of expect elements to be read from CSV file
Returns
HiVector

Definition at line 116 of file Module.h.

References Isis::Module::_csvFile, and Isis::Module::_history.

◆ name()

QString Isis::Module::name ( ) const
inlineinherited

Returns name of component.

Definition at line 84 of file Module.h.

References Isis::Module::_name.

◆ operator()()

double Isis::Module::operator() ( int  index) const
inlineinherited

Return individual element of the data vector.

Definition at line 128 of file Module.h.

References Isis::Module::_data.

◆ printOn()

virtual void Isis::ZeroBufferSmooth::printOn ( std::ostream &  o) const
inlineprivatevirtual

Virtualized parameter reporting method.

This method is invoked when dumping the drift correction parameters.

Parameters
oOutput stream to write results to

Reimplemented from Isis::Module.

Definition at line 150 of file ZeroBufferSmooth.h.

References Isis::Module::_data, Isis::Module::_fmtWidth, Isis::Module::_history, and Isis::Module::formatDbl().

◆ Process() [1/2]

virtual void Isis::Module::Process ( const Module c)
inlinevirtualinherited

Invokes the process method on the Module vector.

Definition at line 91 of file Module.h.

References Isis::Module::ref().

◆ Process() [2/2]

virtual void Isis::Module::Process ( const HiVector v)
inlinevirtualinherited

Default processing behavior makes a reference copy of data array.

Reimplemented in Isis::SplineFill, and Isis::LowPassFilter.

Definition at line 96 of file Module.h.

References Isis::Module::_data.

◆ record()

virtual void Isis::Module::record ( PvlGroup pvl,
const QString  keyname = "ModuleHistory" 
) const
inlinevirtualinherited

Record history in Pvl group object.

Definition at line 134 of file Module.h.

References Isis::Module::_history.

◆ ref()

const HiVector& Isis::Module::ref ( ) const
inlineinherited

Return data via a const reference.

Definition at line 126 of file Module.h.

References Isis::Module::_data.

Referenced by Isis::ZeroBufferFit::guess(), Isis::ZeroReverse::init(), init(), and Isis::Module::Process().

◆ size()

int Isis::Module::size ( ) const
inlineinherited

Returns the size (number of elements) of data array.

Definition at line 88 of file Module.h.

References Isis::Module::_data.

◆ Stats()

const Statistics& Isis::ZeroBufferSmooth::Stats ( ) const
inline

Return statistics for filtered - raw Buffer.

Returns
const Statistics& Statistics class with all stats

Definition at line 94 of file ZeroBufferSmooth.h.

Member Data Documentation

◆ _csvFile

QString Isis::Module::_csvFile
protectedinherited

Fully expanded name of CSV file if present.

Definition at line 165 of file Module.h.

Referenced by Isis::Module::getcsvFile(), and Isis::Module::loadCsv().

◆ _data

◆ _fmtPrecision

int Isis::Module::_fmtPrecision
protectedinherited

Default field with of double.

Definition at line 169 of file Module.h.

Referenced by Isis::Module::formatDbl().

◆ _fmtWidth

int Isis::Module::_fmtWidth
protectedinherited

Default field with of double.

Definition at line 168 of file Module.h.

Referenced by Isis::Module::formatDbl(), printOn(), Isis::ZeroBufferFit::printOn(), Isis::ZeroDark::printOn(), and Isis::ZeroReverse::printOn().

◆ _history

◆ _name

QString Isis::Module::_name
protectedinherited

Name of component.

Definition at line 164 of file Module.h.

Referenced by Isis::Module::name().


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