Isis 3.0 Application Source Code Reference |
Home |
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