|
Isis 3.0 Application Source Code Reference |
Home |
#include <PixelOffset.h>
This class will obtain the rotation from existing camera pointing to "corrected" camera pointing calculated from a table of pixel offsets and time (sample line et)
This class was created to calculate the rotation matrix needed to remove jitter from a hirise image based on the table of offsets.
Definition at line 52 of file PixelOffset.h.
Public Member Functions | |
| PixelOffset (const std::string &tableList, double fl, double pixPitch, double baseTime, double timeScale, int degree) | |
| Construct a Pixel Offset class loading the offsets in the input file into the offset caches. | |
| virtual | ~PixelOffset () |
| Destructor. | |
| void | LoadAngles (std::vector< double > cacheTime) |
| Cache J2000 rotation quaternion over a time range. | |
| void | Interp () |
| Compute cubic interpolation for current time et. | |
| void | SetPolynomial () |
| Set the coefficients of a polynomial fit to each of the three camera angles for the time period covered by the cache, angle = a + bt + ct**2, where t = (time - p_baseTime)/ p_timeScale. | |
| void | SetEphemerisTime (const double et) |
| Compute the angular equivalents for the offsets at a given time. | |
| std::vector< double > | SetEphemerisTimeHPF (const double et) |
| Set ephemeris time for the high pass filtered rotation from the instrument frame to the true (corrected) instrument frame. | |
| double | WrapAngle (double compareAngle, double angle) |
| Wrap the input angle to keep it within 2pi radians of the angle to compare. | |
| PixelOffset | ( | const std::string & | tableList, | |
| double | fl, | |||
| double | pixPitch, | |||
| double | baseTime, | |||
| double | timeScale, | |||
| int | degree | |||
| ) |
Construct a Pixel Offset class loading the offsets in the input file into the offset caches.
| tableList | Ascii table list of sample, line offsets and their corresponding time. | |
| fl | Focal length of instrument in mm. | |
| pixpitch | Pixel pitch of instrument in mm/pixel. |
Definition at line 28 of file PixelOffset.cpp.
| virtual ~PixelOffset | ( | ) | [inline, virtual] |
| void LoadAngles | ( | std::vector< double > | cacheTime | ) |
Cache J2000 rotation quaternion over a time range.
This method will load an internal cache with frames over a time range. This prevents the NAIF kernels from being read over-and-over again and slowing an application down due to I/O performance. Once the cache has been loaded then the kernels can be unloaded from the NAIF system.
| startTime | Starting ephemeris time in seconds for the cache | |
| endTime | Ending ephemeris time in seconds for the cache | |
| size | Number of frames to keep in the cache |
Definition at line 182 of file PixelOffset.cpp.
| void Interp | ( | ) |
Compute cubic interpolation for current time et.
| void SetPolynomial | ( | ) |
Set the coefficients of a polynomial fit to each of the three camera angles for the time period covered by the cache, angle = a + bt + ct**2, where t = (time - p_baseTime)/ p_timeScale.
< Basis function fit to 1st rotation angle
< Basis function fit to 2nd rotation angle
Definition at line 208 of file PixelOffset.cpp.
| void SetEphemerisTime | ( | const double | et | ) |
Compute the angular equivalents for the offsets at a given time.
This method computes the angular equivalents in radians for the offsets at a given et in seconds. The pixel offsets are interpolated from the offsets input in the table using a cubic interpolation and converted to angles based on the focal length and the pixel pitch.
| et | ephemeris time in seconds |
Definition at line 89 of file PixelOffset.cpp.
| std::vector< double > SetEphemerisTimeHPF | ( | const double | et | ) |
Set ephemeris time for the high pass filtered rotation from the instrument frame to the true (corrected) instrument frame.
[TC] = [angle2 - Pangle2(t)] [angle1 - Pangle1(t)] 2 1 where t = (time - p_baseTime) / p_timeScale, and n = p_degree.
| [in] | et | Ephemeris time |
Definition at line 270 of file PixelOffset.cpp.
| double WrapAngle | ( | double | compareAngle, | |
| double | angle | |||
| ) |
Wrap the input angle to keep it within 2pi radians of the angle to compare.
| [in] | compareAngle | |
| [in] | angle | Angle to be wrapped if needed |
Definition at line 318 of file PixelOffset.cpp.