USGS

Isis 3.0 Application Source Code Reference

Home

WarpTransform.h

Go to the documentation of this file.
00001 #ifndef WarpTransform_h
00002 #define WarpTransform_h
00003 
00004 #include <vector>
00005 #include "Transform.h"
00006 #include "BasisFunction.h"
00007 #include "LeastSquares.h"
00008 #include "PvlGroup.h"
00009 
00010 namespace Isis {
00011 
00012 /**
00013  * @author ????-??-?? Unknown
00014  *
00015  * @internal
00016  */
00017 class WarpTransform : public Transform {
00018     public:
00019       WarpTransform(Isis::BasisFunction &basisLine, 
00020            Isis::BasisFunction &basisSamp, bool weighted,
00021            std::vector<double> &inputLine, std::vector<double> &inputSample,
00022            std::vector<double> &outputLine, std::vector<double> &outputSample,
00023            int inputLines, int inputSamples, int outputLines, int outputSamples);
00024       ~WarpTransform();
00025   
00026       // Implementations for parent's pure virtual members
00027       bool Xform (double &inSample, double &inLine,
00028                       const double outSample, const double outLine);
00029       int OutputSamples () const { return p_outputSamples; };
00030       int OutputLines () const { return p_outputLines; };
00031       Isis::PvlGroup Residuals();
00032   
00033     private:
00034       int p_outputSamples;
00035       int p_outputLines;
00036       Isis::LeastSquares *p_lsqInputLine;
00037       Isis::LeastSquares *p_lsqInputSamp;
00038   
00039       std::vector<double> p_outputLine;
00040       std::vector<double> p_outputSample;
00041       bool p_weighted;
00042   };
00043 
00044 }
00045 #endif
00046 
00047