Transform.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /***************************************************************************
  2. Transform.h - do atmospheric correction on an input value
  3. -------------------
  4. begin : Fri Jan 10 2003
  5. copyright : (C) 2003 by Christo Zietsman
  6. email : 13422863@sun.ac.za
  7. ***************************************************************************/
  8. #ifndef TRANSFORM_H
  9. #define TRANSFORM_H
  10. /* Inputs needed to do transformation */
  11. struct TransformInput
  12. {
  13. int iwave;
  14. float asol;
  15. float ainr[2][3];
  16. float sb;
  17. float seb;
  18. float tgasm;
  19. float sutott;
  20. float sdtott;
  21. float sast;
  22. float srotot;
  23. float xmus;
  24. };
  25. /* The following combinations of input values types exist */
  26. enum InputMask
  27. {
  28. REFLECTANCE = 0,
  29. RADIANCE = 1, /* the default */
  30. ETM_BEFORE = 2, /* etm+ taken before July 1, 2000 */
  31. REF_ETM_BEFORE = 2,
  32. RAD_ETM_BEFORE = 3,
  33. ETM_AFTER = 4, /* etm+ taken after July 1, 2000 */
  34. REF_ETM_AFTER = 4,
  35. RAD_ETM_AFTER = 5
  36. };
  37. /* Assuming input value between 0 and 1
  38. if rad is true, idn should first be converted to a reflectance value
  39. returns adjusted value also between 0 and 1 */
  40. extern float transform(const TransformInput ti, InputMask imask, float idn);
  41. #endif /* TRANSFORM_H */