calcsd.c 743 B

123456789101112131415161718192021222324252627282930313233
  1. /* calcsd.c */
  2. #include "ransurf.h"
  3. #include "local_proto.h"
  4. void CalcSD(void)
  5. {
  6. int Row, Col, DoFilter;
  7. double Effect;
  8. G_debug(2, "CalcSD()");
  9. FilterSD = 0.0;
  10. for (DoFilter = 0; DoFilter < NumFilters; DoFilter++) {
  11. CopyFilter(&Filter, AllFilters[DoFilter]);
  12. if (Filter.Mult < 0.0)
  13. Filter.Mult *= -1.0;
  14. MakeBigF();
  15. for (Row = 0; Row < BigF.NumR; Row++) {
  16. for (Col = 0; Col < BigF.NumC; Col++) {
  17. DistDecay(&Effect, Row - BigF.RowPlus, Col - BigF.ColPlus);
  18. FilterSD += Effect * Effect;
  19. }
  20. }
  21. }
  22. G_debug(3, "(FilterSD):%.12lf", FilterSD);
  23. FilterSD = sqrt(FilterSD);
  24. G_debug(3, "(FilterSD):%.12lf", FilterSD);
  25. return;
  26. }