IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 6, 2017, 11:30:10 AM (9 years ago)
Author:
eugene
Message:

merging changes from czw dev branch (compare with r39924)

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/psLib/src/fits/psFitsScale.c

    r39509 r39926  
    189189                // Desperate retry
    190190                mean = psStatsGetValue(stats, DESPERATE_MEAN_STAT);
    191                 stdev = psStatsGetValue(stats, DESPERATE_STDEV_STAT);
     191                if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     192                  stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ);
     193                }
     194                else {
     195                  stdev = psStatsGetValue(stats, DESPERATE_STDEV_STAT);
     196                }
    192197            }
    193198        } else {
    194199            // Retry with all available pixels
    195200            mean = psStatsGetValue(stats, MEAN_STAT);
    196             stdev = psStatsGetValue(stats, STDEV_STAT);
     201            if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     202              stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ);
     203            }
     204            else {
     205              stdev = psStatsGetValue(stats, STDEV_STAT);
     206            }
    197207        }
    198208    } else {
    199209        // First attempt
    200210        mean = psStatsGetValue(stats, MEAN_STAT);
    201         stdev = psStatsGetValue(stats, STDEV_STAT);
     211        if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     212          stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ);
     213        }
     214        else {
     215          stdev = psStatsGetValue(stats, STDEV_STAT);
     216        }
    202217    }
    203218    psFree(rng);
     
    554569                // Desperate retry
    555570                mean = psStatsGetValue(stats, DESPERATE_MEAN_STAT);
    556                 stdev = psStatsGetValue(stats, DESPERATE_STDEV_STAT);
    557             }
     571                if ((DESPERATE_STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(DESPERATE_STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     572                  stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ); // Calculate a "sigma" based on the interquartile distance.
     573                }
     574                else {
     575                 
     576                  stdev = psStatsGetValue(stats, DESPERATE_STDEV_STAT);
     577                }
     578            }   
    558579        } else {
    559580            // Retry with all available pixels
    560581            mean = psStatsGetValue(stats, MEAN_STAT);
    561             stdev = psStatsGetValue(stats, STDEV_STAT);
     582            if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     583              stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ); // Calculate a "sigma" based on the interquartile distance.
     584            }
     585            else {
     586              stdev = psStatsGetValue(stats, STDEV_STAT);
     587            }
    562588        }
    563589    } else {
    564590        // First attempt
    565591        mean = psStatsGetValue(stats, MEAN_STAT);
    566         stdev = psStatsGetValue(stats, STDEV_STAT);
     592        if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     593          stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ); // Calculate a "sigma" based on the interquartile distance.
     594        }
     595        else {
     596          stdev = psStatsGetValue(stats, STDEV_STAT);
     597        }
    567598    }
    568599    psFree(rng);
     
    723754                // Desperate retry
    724755                mean = psStatsGetValue(stats, DESPERATE_MEAN_STAT);
    725                 stdev = psStatsGetValue(stats, DESPERATE_STDEV_STAT);
     756                if ((DESPERATE_STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(DESPERATE_STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     757                  stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ); // Calculate a "sigma" based on the interquartile distance.
     758                }
     759                else {
     760                  stdev = psStatsGetValue(stats, DESPERATE_STDEV_STAT);
     761                }
    726762            }
    727763        } else {
    728764            // Retry with all available pixels
    729765            mean = psStatsGetValue(stats, MEAN_STAT);
    730             stdev = psStatsGetValue(stats, STDEV_STAT);
     766            if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     767              stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ); // Calculate a "sigma" based on the interquartile distance.
     768            }
     769            else {
     770              stdev = psStatsGetValue(stats, STDEV_STAT);
     771            }
    731772        }
    732773    } else {
    733774        // First attempt
    734775        mean = psStatsGetValue(stats, MEAN_STAT);
    735         stdev = psStatsGetValue(stats, STDEV_STAT);
     776        if ((STDEV_STAT == PS_STAT_SAMPLE_QUARTILE)||(STDEV_STAT == PS_STAT_ROBUST_QUARTILE)) {
     777          stdev = 0.7415 * (stats->sampleUQ - stats->sampleLQ); // Calculate a "sigma" based on the interquartile distance.
     778        }
     779        else {
     780          stdev = psStatsGetValue(stats, STDEV_STAT);
     781        }
    736782    }
    737783    psFree(rng);
Note: See TracChangeset for help on using the changeset viewer.